Python OpenCV笔记

Python OpenCV笔记

  • OpenCV下载
  • 引入库
  • 载入图像
  • 保存图像
  • 获取图像信息
    • 图像尺寸
      • 第一种
      • 第二种
    • 图像大小
  • 图像处理
    • 颜色空间转换
    • 改变图像质量
    • 缩小图像
    • 按照一定比例缩放图片
    • 给图片添加黑边
    • 裁剪图片
    • 将图像转换为HSV
    • 给图片添加文字
    • 给图片添加方形框

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)

给图片添加文字

img = cv2.imread('0.JPG')
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,"Hello",(20,120),font,3,(0,0,255),1)

给图片添加方形框

img = cv2.imread('0.JPG')
cv2.rectangle(img,(131,83),(131+256,83+256),(0,0,255),2)

你可能感兴趣的:(Python)