两个连续的图像显示显示相同的图像

时间:2011-08-02 19:00:56

标签: c opencv

我正在尝试使用OpenCV可视化2个连续图像

以下是我正在计算的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 个答案:

答案 0 :(得分:2)

就像@karlphillip所说,您的代码示例不完整。但看起来IplImage* img_t2_2 = cvGetImage( projectionResult_img, &img_t );中的第二个参数应该是img_t_2

答案 1 :(得分:0)

假设您使用的是最新版本的OpenCV,而不是显示图像,我会使用cvSaveImage()将它们写在磁盘上。如果它们仍然相等,那么你的逻辑/代码就会出现问题,而且它与OpenCV显示图像无关。

您的代码原样,不完整,我无法帮助您。此代码无法调用cvShowImage()