一、读取图片,对图片读取,裁剪等

#如果想要批量处理,可以利用os.listdir()遍历文件夹,
1、读取图片

cv2.imread()

imread(img_path,flag) 读取图片,返回图片对象
    img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None
    flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略,为默认参数,也可以传入1
          cv2.IMREAD_GRAYSCALE,按灰度模式读取图像,也可以传入0
          cv2.IMREAD_UNCHANGED,读取图像,包括其alpha通道,也可以传入-1
例:
import cv2
img = cv2.imread('1.jpg') 
#img = cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE)

2、显示图片

cv2.imshow()
imshow(window_name,img):显示图片,窗口自适应图片大小
    window_name: 指定窗口的名字
    img:显示的图片对象
    可以指定多个窗口名称,显示多个图片
例:
cv2.imshow('image',img)
cv2.waitKey(0)  #等待输入任何按键,
#当用户输入任何一个按键后即调用destroyAllWindows()关闭所有图像窗口
cv2.destroyAllWindows()  # 摧毁窗口

3、写入保存图片

cv2.imwrite()
imwrite(img_path_name,img,name)
    img_path_name:保存的文件名
    img:文件对象
    num:可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.

例:
cv2.imwrite(r"D:\picture\111.jpg",img)
cv2.imwrite('111.png',img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imwrite('111.png',img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])

#cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
#cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小

参考:(一)OpenCV-Python学习—基础知识
模块cv2的用法

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐