Python中的CV2基础图片处理及应用

运行环境:Win10 + Python3.X

如题

各方法皆已注解

若有疑问或错误的欢迎留言指教

代码:

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 15 11:06:51 2018

@author: jwjiang
"""
#导入openCV模块
import cv2 as cv

###读取图片###
#采用默认方式读取图像,支持 bmp、jpg、png、tiff 等常用格式
img = cv.imread("C:\\Users\\jwjiang\\Desktop\\test\\1.jpg")

#采用黑白方式读取图片
img2 = cv.imread("C:\\Users\\jwjiang\\Desktop\\test\\1.jpg",0)


###获取图片属性###
#计算图片、数组和矩阵所有数据的个数 
print (img.size)

#获得图片每个维度的大小 
#第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成。
print (img.shape)

#获得数据类型
print (img.dtype)


###显示图片###
#创建窗口,第二个参数是cv.WINDOW_NORMAL时可以调节窗口大小,默认不可调的(cv.WINDOW_AUTOSIZE)
cv.namedWindow("Image",cv.WINDOW_NORMAL)

#显示图像img在"Image"窗口中
cv.imshow("Image",img)


###保存图片###
#第一个参数是保存的路径,第二个是图像矩阵名
#第三个参数对JPEG而言,其表示的是图像的质量,用0-100的整数表示,默认为95。 
#注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int。
cv.imwrite('savejpg.jpg',img2,[int(cv.IMWRITE_JPEG_QUALITY),5])

#保存图片
#第三个参数对png图片,第三个参数表示的是压缩级别。
#cv2.IMWRITE_PNG_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。默认级别为3
cv.imwrite('savepng.png', img2, [int(cv.IMWRITE_JPEG_QUALITY), 5])

#延迟,在delay<=0时会无限制等待按钮事件
cv.waitKey(0)

#破坏所有创建的窗口,释放窗口
#若要销毁特定窗口可以用cv.destroyWindow()
cv.destroyAllWindows()

猜你喜欢

转载自blog.csdn.net/sun830910/article/details/84104117