在openCV中使用imshow函数

时间:2013-03-18 09:10:16

标签: c++ opencv

我正在使用imshow函数在OpenCV中显示图像。它工作正常,但只有一点点:我为图像写的标题没有正确显示。

例如,当我写“原始”或“倒置”时,它们会在开头显示一些额外且难以理解的数据。但是,当我写“阈值图像”时,会显示一长串难以理解的单词,而不是标题......

它对其他任何事都没有影响,但对我来说似乎很奇怪。你知道为什么会这样吗?

这是我的代码:

IplImage* image=cvLoadImage("Black&White.jpg");
Mat image1;
image1=Mat(image,false);
imshow("Image",image1);
cvWaitKey(0);

2 个答案:

答案 0 :(得分:7)

首先,您可以互换地使用C和C ++库 - IpIImage属于C而Mat属于C ++,这可能是您问题的根源。相反,尝试使用C ++接口,您的代码如下:

Mat image = imread("Black&White.jpg"); 
imshow("Image",image);
waitKey(0);

这应该可以解决您的问题,如果没有,请尝试使用C接口

IplImage* image = cvLoadImage("Black&White.jpg");
cvNamedWindow( "Image", CV_WINDOW_AUTOSIZE );
cvShowImage("Image", image);
cvWaitKey(0);

答案 1 :(得分:0)

您是否真的检查过您使用了正确的文件链接? 就我而言,我通常会这样做:

image = imread( "C:\\\CloudStation\\\Bestanden\\\VisualStudio2010\\\Projects\\\TMerger\\\Debug\\\black_and_white.tif")

所以在我的情况下,我必须使用双反斜杠。

希望它有所帮助。

问候, 弗洛。