как разделить каналы изображения RGB в emgu? - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужно разделить изображение RGB на 3 канала.Другими словами, мне нужен код для следующего:

Image<Bgr, Byte> imgBgr = CvInvoke.Imread("Im.jpg").ToImage<Bgr, Byte>();
Mat blue = imgBgr.BlueChannel;
Mat green = imgBgr.GreenChannel;
Mat red = imgBgr.RedChannel;

Спасибо!

1 Ответ

0 голосов
/ 15 ноября 2018

Есть 2 способа сделать это.

  1. Используйте imgBgr.Split(). Он возвращает массив из 3 серых изображений, каждый из которых представляет один цветной канал исходного изображения.

  2. Используйте imgBgr.Sub(color). Это вычтет цвет из исходного изображения. Например, если вы хотите получить только красный цвет, удалите зеленый и синий, imgBgr.Sub(new Rgb(0, 255, 255)) и т. Д.

...