我正在尝试使用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行的那个)。
知道问题出在哪里?
答案 0 :(得分:2)
就像@karlphillip所说,您的代码示例不完整。但看起来IplImage* img_t2_2 = cvGetImage( projectionResult_img, &img_t );
中的第二个参数应该是img_t_2
。
答案 1 :(得分:0)
假设您使用的是最新版本的OpenCV,而不是显示图像,我会使用cvSaveImage()
将它们写在磁盘上。如果它们仍然相等,那么你的逻辑/代码就会出现问题,而且它与OpenCV显示图像无关。
您的代码原样,不完整,我无法帮助您。此代码无法调用cvShowImage()
。