图片的读取与显示
图片的读取imread()
图片的显示imshow()
python版本:
import cv2 as cv
src = cv.imread("1.jpg")
#src=cv.imread("1.jpg",cv2.IMREAD_GRAYSCALE)
#imread函数传入第二个从参数可以用于将彩色图片转换为灰度图像
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
cv.waitKey(0)
cv.destroyAllWindows()
说明:
-
imread为读取图片,需要传入的是图片所在的路径+图片名称,本代码中图片与python文件在同一级目录,所以可以直接使用相对路径读取。也可以采用绝对路径读取方式,即直接将图片所在的完整路径粘贴进来,注意地址要用双引号括起来!,另外,imread可以传入第二个参数,用于将彩色图像转换为其他类型的图像,如灰度图像。
-
namedWindow为打开一个窗口,其中第一个参数为新建窗口的名字,该窗口的参数为WINDOW_AUTOSIZE,意思是之后该窗口可以随着照片的大小来自动调整需要显示的窗口大小。
-
imshow是用于在刚创建的窗口中显示读取的图片,第一个参数是在指定名称的那个窗口中显示,第二个参数是需要显示的照片。
-
waitKey(0):该函数告诉系统暂停并且等待键盘事件。如果其传入了一个大于零的参数,它将会等待等同于改参数的毫秒时间,然后继续执行程序。如果参数被设置为0或者一个负数,程序将会无限等待直到有键被按下。
-
destroyAllWindows让窗口自行销毁,该函数将会关闭窗口并且释放掉相关联的内存空间。
运行结果为:
C++代码
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int artc, char** argv) {
// Mat src = imread("D:/vcprojects/images/test.png");
Mat src = imread("D:/vcprojects/images/test.png",
IMREAD_GRAYSCALE);
if (src.empty()) {
printf("could not load image...\n");
return -1;
}
namedWindow("input", WINDOW_AUTOSIZE);
imshow("input", src);
waitKey(0);
return 0;
}