1、读取图片
cv2.imread(filename,flags)
第一个参数:图片名
第二个参数:
• cv2.IMREAD_COLOR :
Loads a color image. Any transparency of image will be neglected. It is the default flag.
默认参数,读入一副彩色图片,忽略alpha通道
• cv2.IMREAD_GRAYSCALE :
Loads image in grayscale mode
读入灰度图片
如:cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE) 读入灰度图片
• cv2.IMREAD_UNCHANGED :
Loads image as such including alpha channel
顾名思义,读入完整图片,包括alpha通道
Note: Instead of these three flags, you can simply pass integers 1, 0 or -1 respectively.
也可以简单以数字1, 0 or -1代替这几个参数,
比如: cv2.imread("上邪.png",0) 代表灰度图片
2、写入图片
cv2.imwrite(filename,img,params)
• 第一个参数:要保存的文件名
• 第二个参数:是要保存的图像。
• 第三个参数(可选):针对特定的格式意义不一样
对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;
对于png ,第三个参数表示的是压缩级别。默认为3.
注意:
- cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
- cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小。
cv2.imwrite('1.png',img, [int(cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imwrite('1.png',img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
3、程序
import cv2
#读取一张图片并显示出来
img = cv2.imread("上邪.png")
cv2.imshow("Python opencv", img) #在窗口中显示图片,第一个参数是显示图像的窗口的名字,第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小
k=cv2.waitKey (0) #如果不添最后一句,在IDLE中执行窗口直接无响应。在命令行中执行的话,则是一闪而过。
if k == 27: #如果按键是ESC
cv2.destroyAllWindows() #最后的销毁窗口是一个好的习惯
else: #如果按键是其他键
#写入一张图片
cv2.imwrite("test.png",img)
newimg=cv2.imread("test.png")
cv2.imshow("I am a new pic!",newimg)
kk=cv2.waitKey (0)
if kk==27:
cv2.destroyAllWindows()

网友评论