图像处理–阈值分割函数《python基础篇》

3.如何实现呢?

说了这么多,只是让大家能够更好地理解阈值二值化操作,还有就是为什么我们选择二值化,她的目的是什么!(不多说了),下面来看一般的阈值二值化函数。

1》典型的全局阈值二值化函数:

代码:

ret,thresh1=cv2.threshold(GrayImage,120,255,cv2.THRESH_BINARY)

how to usse?

代码:

import cv2

path=r'cat.png'
img=cv2.imread(path)
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret1,thresh1=cv2.threshold(GrayImage,120,255,cv2.THRESH_BINARY)
cv2.imshow('method1',thresh1)
cv2.waitKey(0)

效果图:

图像处理--阈值分割函数《python基础篇》

原图

图像处理--阈值分割函数《python基础篇》

二值化后的图像

2》自适应阈值分割函数:

代码:

th3 = cv2.adaptiveThreshold(GrayImage,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,5,11)

how to use?

代码:

import cv2

path=r'cat.png'
img=cv2.imread(path)
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

threth2=cv2.adaptiveThreshold(GrayImage,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,5,11)

cv2.imshow('method2',thhreth2)
cv2.waitKey(0)

效果图:

图像处理--阈值分割函数《python基础篇》

原图

图像处理--阈值分割函数《python基础篇》

自适应阈值分割后的图像

3》大津阈值分割法

这个是由日本学者大津提出,当时轰动一时(夸张点)。这种方法最核心的就是统计像素点灰度值的方差,使图像的灰度值方差达到最小值,这个值就是相对于分割图像的最好分割阈值。(求最小方差所对于的值,就是最好的分割阈值,应该说清楚了吧!)

代码:

ret3,threth3= cv2.threshold(img,0,255,cv2.THRESH_OTSU)

how to use?

path=r'cat.png'
img=cv2.imread(path)
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

ret3,thresh3 = cv2.threshold(GrayImage,0,255,cv2.THRESH_OTSU)
print(ret3)

cv2.imshow('method3',thresh3)
cv2.waitKey(0)

效果展示:

图像处理--阈值分割函数《python基础篇》

原图

图像处理--阈值分割函数《python基础篇》

大津阈值分割后的图

注意: 其中 ret3 就是计算出来的最好阈值(相对来说哦)

我们打印输出一下看看是多少?

图像处理--阈值分割函数《python基础篇》

Original: https://blog.csdn.net/m0_56654441/article/details/120593382
Author: 桀骜不驯的山里男人
Title: 图像处理–阈值分割函数《python基础篇》

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/645739/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球