Два успешных ImageShow, показывающих одно и то же изображение - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь визуализировать 2 последовательных изображения, используя OpenCV

Вот 3 матрицы, которые я вычисляю:

projectionResult_img_debug = cvReshape( projectionResult_line, &row_header_temp, 0,    rect_list[9].height );
projectionResult_img_debug2 = cvReshape( AverageImg_line, &row_header_temp2, 0, rect_list[9].height );
projectionResult_img = cvReshape( projectionResult_line2, &row_header_temp3, 0, rect_list[9].height );


//debug:                                printMatrixValues(projectionResult_line, 1200, 1250);
printMatrixValues(AverageImg_line, 1200, 1250);
printMatrixValues(projectionResult_line2, 1200, 1250);

IplImage img_t;
IplImage* img_t2 = cvGetImage( projectionResult_img_debug,  &img_t );


IplImage img_t_2;
IplImage* img_t2_2 = cvGetImage( projectionResult_img,  &img_t );

Моя проблема в том, что отображаемые 2 изображения являютсято же самое, и ВСЕГДА отображает последнюю матрицу, которую я вычислил (в данном случае это та, что в строке 3).

Есть идеи, где проблема?

Ответы [ 2 ]

2 голосов
/ 03 августа 2011

Как говорит @karlphillip, ваш пример кода неполон.Но похоже, что второй аргумент в IplImage* img_t2_2 = cvGetImage( projectionResult_img, &img_t );, вероятно, должен быть img_t_2.

0 голосов
/ 02 августа 2011

Предполагая, что вы используете самую последнюю версию OpenCV, вместо отображения изображений я бы записал их на диск, используя cvSaveImage(). Если они все еще равны, значит, проблема в вашей логике / коде не связана с отображением изображений в OpenCV.

Ваш код как таковой, он неполный, и я не могу вам больше помочь. Для этого кода нет вызова на cvShowImage().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...