opencv显示图片时,使用
Mat src = imread("E:/OpenCV/bin/Resource/lena.jpg");
imread有两个参数Mat cv::imread ( const String & filename [, int flags = IMREAD_COLOR] )
flags用于选择读取图片的方式,默认取值为IMREAD_COLOR,显示彩色图片,如果要显示灰度图,可以使用IMREAD_GRAYSCALE,所有颜色,显示为IMREAD_ANYCOLOR,加载PNG四通道的图片,则应用IMREAD_UNCHANGED
namedWindow中的第二个参数也可以调整,选择WINDOW_AUTOSIZE后无法改动大小了,如果嫌图片太大,需要手动缩放,可以用WINDOW_FREERATIO或WINDOW_NORMAL,全屏可以使用WINDOW_FULLSCREEN
int waitKey()后的参数为等待的毫秒数,如果显示图片10秒后自动关闭可以使用waitKey(10000);waitKey(0)表示始终不关闭,等待用户来关闭窗口。返回值为单击的按钮ASCII值。
可以不停的监控键盘事件,只到按下了ESC键才推出
while (waitKey(10) != 27)
{
}
保存图片使用imwrite,如
imshow("input", src);
imwrite("D:/test.jpg", src);
或
imshow("input", src);
imwrite("D:/test.png", src);
注意:如果使用QQ输入法,可能会提示
libpng warning: iCCP: cHRM chunk does not match sRGB
关闭此输入法,就不会提示错误了