OpenCV-28 全局二值化

一、形态学概念

什么是形态学?

1)指一系列处理图像型状特征的图像处理技术

2)形态学的基本思想是利用一直特殊的结构元(本质上是卷积核,且这个卷积核的值只有1和0)来测量或提取输入图像中相应的型状或特征,以便进一步进行图像分析和目标识别。

3)这些处理方法基本是对二进制图像进行处理,即黑白图像。

4)卷积核决定图像处理后的效果

5)形态学常用的基本操作有:

膨胀和腐蚀

开运算

闭运算

顶帽

黑帽

二、图像全局二值化

二值化:将图像的每个像素变成两种值,比如0,255

threshold(src,thresh,maxval[, dst])

  • src:最好是灰度图
  • thresh:阈值
  • maxval:最大值,最大值不一定为255
  • type:操作类型,常见操作类型如下:

OpenCV-28 全局二值化_第1张图片

示例代码如下:

import cv2
import numpy as np

# 导入图片
lena = cv2.imread("beautiful women.png")
gray = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)
# threshold会返回两个值:一个是阈值,一个是二值化处理后的图片
thresh, new_gray = cv2.threshold(gray, 128, 255, cv2.THRESH_BINARY)
cv2.imshow("img", np.hstack((gray, new_gray)))
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果如下:

 

你可能感兴趣的:(OpenCV,opencv,人工智能,计算机视觉,numpy,python)