Я работаю над проектом по обработке черепно-мозговых травм с помощью обработки изображений. Чтобы повысить точность, мне нужно извлечь из черепа только мозговое вещество.
Используя 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

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

Мобильная версия