Как извлечь идентифицированные внутренние и внешние контуры с помощью EmguCV?C#

Место общения программистов C#
Ответить
Anonymous
 Как извлечь идентифицированные внутренние и внешние контуры с помощью EmguCV?

Сообщение Anonymous »


Я работаю над проектом по обработке черепно-мозговых травм с помощью обработки изображений. Чтобы повысить точность, мне нужно извлечь из черепа только мозговое вещество.

Используя EmguCV, я смог определить внутренний и внешний контуры (синий и темно-синий). Можно ли как-нибудь извлечь эти идентифицированные контуры в другое изображение?

Image GrayImage = new Image(растровое изображение); Изображение color = новое изображение(растровое изображение); GrayImage = GrayImage.ThresholdBinary(новый Грей(220), новый Грей(255)); используя (хранилище MemStorage = новое MemStorage()) { for (Contour контуры = GrayImage.FindContours( Emgu.CV.CvEnum.CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_SIMPLE, Emgu.CV.CvEnum.RETR_TYPE.CV_RETR_TREE, хранилище); контуры != ноль; контуры = контуры.HСледующий) { Контур текущийКонтур = контуры.ПриблизительноПоли(контуры.Периметр * 0,015, хранилище); если (currentContour.BoundingRectangle.Width > 20) { CvInvoke.cvDrawContours(цвет, контуры, новый MCvScalar(100), новый MCvScalar(255), -1, 2, Emgu.CV.CvEnum.LINE_TYPE.EIGHT_CONNECTED, новая точка(0, 0)); } } } EmguCV 2.2.2


Изображение


Ожидаемый результат:


Изображение

Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»