Получите пиксели изображения с emgu cv

Для получения пикселей в OpenCV я использую этот код:

for( int y=0; y<image->height; y++ ) {
uchar* ptr = (uchar*) (image->imageData + y * image->widthStep);
for( int x=0; x<image->width; x++ ) {
byteArray[y*image->widthStep+3*x] =  ptr[3*x];
byteArray[y*image->widthStep+3*x+1] =  ptr[3*x+1];
byteArray[y*image->widthStep+3*x+2] =  ptr[3*x+2];

}
}

Но я не могу использовать такой код в EmguCV:

for( int y=0; y<rgb32Image->MIplImage.height; y++ ) {
unsigned char* ptr = (unsigned char*) (rgb32Image->MIplImage.imageData + y*rgb32Image->MIplImage.widthStep);
//error C2678: binary '+' : no operator found which takes a left-hand operand of type 'System::IntPtr' (or there is no acceptable conversion)

for( int x=0; x<rgb32Image->MIplImage.widthStep; x++ ) {
b[y*rgb32Image->MIplImage.widthStep+3*x] = ptr[3*x];
b[y*rgb32Image->MIplImage.widthStep+3*x+1] = ptr[3*x+1];
b[y*rgb32Image->MIplImage.widthStep+3*x+2] = ptr[3*x+2];

}

}

Что я должен использовать вместо MIplImage.imageData для получения пикселей изображения в Emgu CV?

Спасибо!

0

Решение

Какую версию Emgu вы используете? Я обычно использую класс Image Эмгу

Вы можете получить байт [] от
Image.Bytes

Документация здесь:
http://www.emgu.com/wiki/files/2.0.0.0/html/24efb2ef-4b77-68e5-c8cf-1395430b3666.htm

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector