OpenCV在win32下不显示图像

本文介绍了一个在Win32环境下使用OpenCV显示图像时遇到的问题:使用imshow()函数无法显示图像。通过调整代码,将system(pause)替换为waitKey()解决了这一问题。

在win32下新建一个OpenCV的工程,配置好OpenCV的环境后使用imshow()函数却显示不出图像,程序如下:

#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace cv;

// 添加OpenCV图像处理库
#ifdef _DEBUG
#   pragma comment(lib,"OpenCV/opencv_core249d.lib")
#   pragma comment(lib,"OpenCV/opencv_highgui249d.lib")
#   pragma comment(lib,"OpenCV/opencv_imgproc249d.lib")
#else
#   pragma comment(lib,"OpenCV/opencv_core249.lib")
#   pragma comment(lib,"OpenCV/opencv_highgui249.lib")
#   pragma comment(lib,"OpenCV/opencv_imgproc249.lib")
#endif

int main(int argc, char** argv)
{
    cv::Mat image = imread("test.jpg", 1);
    cv::namedWindow("test1");
    cv::imshow("test1", image);

    system("pause");
    return 0;
}

显示的图像如下:
这里写图片描述

经过多次尝试之后发现是system(“pause”)这句的问题,将其修改为waitKey()即可解决问题,修改后代码如下:

int main(int argc, char** argv)
{
    cv::Mat image = imread("test.jpg", 1);
    cv::namedWindow("test1");
    cv::imshow("test1", image);

    waitKay();//system("pause")
    return 0;
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值