OpenCV是一个跨平台计算机视觉库,一般我们可以在python上用其进行图像处理。
1.读取图片 cv2.imread(filepath,flags)
参数说明:filepath:图片的路径
flags:图片读取的模式
cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道,也可以用-1表示
cv2.IMREAD_GRAYSCALE:读入灰度图片,也可以用0表示
cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道,也可以用1表示
2.显示图片 **cv2.imshow(wname,img)
参数说明:wname:显示图像的窗口名称
img:读取的图片
3.保存图片 **cv2.imwrite(file,img,num)
参数说明:file:图片保存的文件名
img:要保存的图片
num:特定格式保存的参数编码
对于JPEG格式的图片,这个参数表示从0-100的图片质量(CV_IMWRITE_JPEG_QUALITY),默认值是95;
对于PNG格式的图片,这个参数表示压缩级别(CV_IMWRITE_PNG_COMPRESSION)从0-9.较高的值意味着更小的尺寸和更长的压缩时间而默认值是3;
对于PPM,PGM或PBM格式的图片,这个参数表示一个二进制格式标志(CV_IMWRITE_PXM_BINARY),取值为0或1,而默认值为1.(具体可查看官方介绍)
Δ:第三个参数可能会改变图片质量,压缩级别等,会使得保存的图片与读取的图片像素值不一样
举例:
import cv2
path="E:\eg3.jpg"
img=cv2.imread(path,1)
cv2.imwrite("E:\eg4.jpg",img,[int( cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imshow("imgwindow",img)
cv2.waitkey()#不加这句的话图片显示后马上会消失
显示结果:
Δ:一些报错解决途径
1.判断路径是否含有中文,虽然我用中文路径也调试成功了,但用中文路径有时候是会引发报错
2.有些时候是图片的格式不对,换一张图片看能不能正常读取