Перейти к содержимому
Compvision.ru
RinOS

Работа со слоями

Recommended Posts

Всем привет!

Есть трёхслойная картинка

image3D = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 );

Как можно получить значения каждого канала?

cхематично изображу так

x = getnvalue(image3D,0,0,0)

y = getnvalue(image3D,1,0,0)

z = getnvalue(image3D,3,0,0)
Знаю способ используя COI
cvSetImageCOI(image3D, 3);

cvCopy(image3D, imageZ, 0);

cvResetImageROI(image3D);

Но по моему медленно тк потом придется гонять 3 цикла для каждого слоя

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

// split the image into separate color planes

vector<Mat> planes;

split(img_yuv, planes);

http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?highlight=split#split

слои=каналы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет!

Есть трёхслойная картинка

image3D = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 );

Как можно получить значения каждого канала?

cхематично изображу так

x = getnvalue(image3D,0,0,0)

y = getnvalue(image3D,1,0,0)

z = getnvalue(image3D,3,0,0)
Знаю способ используя COI
cvSetImageCOI(image3D, 3);

cvCopy(image3D, imageZ, 0);

cvResetImageROI(image3D);
Но по моему медленно тк потом придется гонять 3 цикла для каждого слоя
Всё просто:


for(int y=0; y<image->height; y++)

{

   byte* data = (byte*)(image->imageData + y * image->widthStep);

   for(int x=0; x<image->width; x++)

   {

     data[3*x];     // B - синий

     data[3*x+1];   // G - зелёный

     data[3*x+2]; // R - красный

   }

}

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×