读取一张图片
代码如下:
import cv2 as cv
src = cv.imread("C:\1.jpg")
cv.namedWindow("1", 0)
cv.imshow("dasiming",src)
cv.waitKey(0)
cv.destroyAllWindows()
说明:
1.Mat imread(const String& filename,int flags); 读取图片
第一个参数是图片地址:“\”"\\"和"/" "//" 无论正反,单双python2.7实测没影响
第二个参数是图片读取方式:默认正常读取,如果为0 则为
灰度图 2时也是灰色的,测试了其他是彩色的(了解不多,还是不太懂,回头再补充)
2.cv.NamedWindow( const char* name, int flags );
创建窗口,其实不写这行代码也可以show出来。
第一个参数是窗口名字,设置为中文时.py文件上要加上 # -*- coding=GBK -*-
# -*- coding=GBK -*-
import cv2 as cv
src = cv.imread("C:\1.jpg")
cv.namedWindow("哈哈哈",0)
cv.imshow("哈哈哈",src)
cv.waitKey(0)
cv.destroyAllWindows()
如果不加会报错,如果加的是 # -*- coding: utf-8 -*- 虽然不会报错,但会是乱码
第二个参数是窗口显示方式,
为0或cv.WINDOW_NORMAL:可以改变窗口大小
不写或cv.WINDOW_AUTOSIZE则不可改变大小
3. imshow(const string& winname, InputArray mat) 显示图片窗口
第一个参数:窗口名称。如果上面有NamedWindow()函数,这个名称要与它一样,不然会出现两个窗口,一个是NamedWindow的空白窗口,一个是imshow的图片窗口。
第二个参数:要显示的图片。
如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。否则,将图像进行缩放以适合窗口。而imshow 函数缩放图像,取决于图像的深度(目前还不懂啥是深度,回头再补充)
4.waitKey(K) 窗口显示时间,单位:毫秒
k=0: (也可以是小于0的数值)一直显示,键盘上按下一个数字键即会消失
k>0:显示多少毫秒
5. destroyAllWindows():删除建立的全部窗口,释放资源