Python OpenCV笔记

ⅰ亾dé卋堺 提交于 2020-02-05 23:57:36

OpenCV下载

pip3 install opencv-python

引入库

import cv2

载入图像

普通读取图像

# 载入图像 im即所谓的CVMat
img = cv2.imread('0.JPG')

读取为灰度图

# 读取单通道
gray_img=cv2.imread('0.JPG',cv2.IMREAD_GRAYSCALE)

保存图像

img = cv2.imread('0.JPG')
# 保存到本地
cv2.imwrite('0.PNG', img)

获取图像信息

图像尺寸

第一种

img = cv2.imread('0.JPG')
h, w = img.shape[:2]
print(h, w)

第二种

img = cv2.imread('0.JPG')
h=img.shape[0]
w=img.shape[1]
print(str(w)+":"+str(h))

图像大小

img = cv2.imread('0.JPG')
print(str(img.size)+"Bit")

图像处理

颜色空间转换

# 转换为灰度图
img = cv2.imread('0.JPG')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

改变图像质量

img = cv2.imread('0.JPG')
# 指定jpg质量,范围从1~100,默认95,值越高画质越好,文件越大
cv2.imwrite('GRAY.jpg',img,(cv2.IMWRITE_JPEG_QUALITY,20))

缩小图像

img = cv2.imread('0.JPG')
# 缩小为200x200的正方形
img_200x200=cv2.resize(img,(200,200))

按照一定比例缩放图片

img = cv2.imread('0.JPG')
# 不直接指定缩放后的大小,通过fx和fy指定缩放比例,0.5表示长宽各一半
# 插值方法默认为cv2.INTER_LINEAR,这里指定为最近邻插值
img_half=cv2.resize(img,(0,0),fx=0.5,fy=0.5,interpolation=cv2.INTER_NEAREST)

给图片添加黑边

img = cv2.imread('0.JPG')
# 上下各贴50像素的黑边
img_add_black=cv2.copyMakeBorder(img,50,50,0,0,cv2.BORDER_CONSTANT,value=(0,0,0))

裁剪图片

img = cv2.imread('0.JPG')
# 裁剪
pathch_img=img[20:150,-180:-50]

将图像转换为HSV

img = cv2.imread('0.JPG')
# 通过cv2.cvtcolor把图像从RGB转到HSV
img_hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!