Python-opencv 笔记2 -- 图像的基础操作

版权声明: https://blog.csdn.net/Wang_Jiankun/article/details/82355623

Python-opencv 笔记2 – 图像的基础操作


1、图片基本操作

图像缩放:

# 缩放为指定尺寸
img1 = cv2.resize(img1, (1000, 750))

图像颜色转换:

# 彩色图转灰度图
img = cv2.cvtColor(img1, cv2.COLOR_RGB2GRAY)

2、图像二值化

函数原型:

threshold(src, thresh, maxval, type, dst=None)
  • src:输入图片
  • thresh:灰度值阈值
  • maxval:最大的灰度值
  • type:二值化方法。THRESH_BINARY,THRESH_BINARY_INV,THRESH_TRUNC,THRESH_TOZERO , THRESH_TOZERO_INV
  • dst:输出图片
# 灰度值超过 100 的变为 255,小于的为 0
ret, thresh1 = cv2.threshold(dst, 100, 255, cv2.THRESH_BINARY)

这里写图片描述


3、图像梯度图

Sobel 算子:

函数原型:

Sobel(src, ddepth, dx, dy, dst=None, ksize=None, scale=None, delta=None, borderType=None)
  • src:待计算的输入图
  • ddepth:图片的深度
  • dx:x轴的微分阶数
  • dy:y轴的微分阶数
  • dst:输出图片
  • ksize:算子的核大小,必须为1、3、5、7
  • scale:微分值的缩放系数
  • delta:微分值的偏差值
  • borderType:数值的插值类型
# Sobel算子求水平和垂直梯度
x = cv2.Sobel(img, cv2.CV_16S, 1, 0)
y = cv2.Sobel(img, cv2.CV_16S, 0, 1)

# 求梯度的绝对值
absX = cv2.convertScaleAbs(x)
absY = cv2.convertScaleAbs(y)

# 水平和垂直梯度的加权和
dst = cv2.addWeighted(absX, 0.5, absY, 0.5, 0)

猜你喜欢

转载自blog.csdn.net/Wang_Jiankun/article/details/82355623