opencv 閾值分割的具體使用
閾值分割
像素圖
原始圖像像素圖 見下面
紅色線:標(biāo)注一條閾值線

二進(jìn)制閾值化
首先設(shè)定一條閥值線 如127
大于127的像素點灰度值設(shè)為最大(如unit8的格式為255)
小于127的像素點灰度值設(shè)為0

反二進(jìn)制閾值化
首先設(shè)定一條閥值線 如127
大于127的像素點灰度值設(shè)為最小為0
小于127的像素點灰度值設(shè)為最大(如unit8的格式為255)

截斷閾值化
首先選定一個閥值,大于該閾值的像素點唄設(shè)定為該閾值,小于該閾值的不變
如:閾值127,大于127的像素點值為127;小于127的不變

反閾值化為0
先選定一個閾值,然后做如下處理:
大于等于該閾值的像素點變?yōu)?,
小于該閾值的像素點不變。

閾值化為0
先選定一個閾值,然后做如下處理:
大于等于該閾值的像素點不變,
小于該閾值的像素點變?yōu)?。

threshold函數(shù)
threshold:中文閾值
方法:
retval,dst=cv2.threshold(src,thresh,maxval,type)
retval:閾值 一般和thresh相同
dst:處理結(jié)果的圖像
src:原始圖像
thresh:閾值,閾值線,對應(yīng)上文的紅線
maxval:最大值,閾值分割后指定的最大值,有1和255。最大值為1對應(yīng)是二值化圖像數(shù)據(jù)
type:類型,指定那種閾值
threshold 二進(jìn)制閾值
把亮的處理成白色,暗的處理成黑色
區(qū)別二值化閾值:二值化只有0,1。
二進(jìn)制閾值:可以有其他兩個數(shù)。二值化是特殊的二進(jìn)制閾值。
cv2.THRESH_BINARY
算例:設(shè)定閾值為127
import cv2
a=cv2.imread('lenacolor.png')#
r,b=cv2.threshold(a,127,255,cv2.THRESH_BINARY)
print('r',r)
cv2.imshow('a',a)
cv2.imshow('b',b)
cv2.waitKey(0)
cv2.destroyAllWindows()
結(jié)果:
圖中 像素只有0,255
print(b)



threshold 反二進(jìn)制閾值
把亮的處理成黑色,暗的處理成白色
修改前文代碼
cv2.THRESH_BINARY_INV

threshold 截斷閾值
亮的不能太亮,有上限,暗的不變
cv2.THRESH_TRUNC

threshold 反閾值化為0
把比較亮的部分處理成0成黑色,小于等于閾值的像素點不變
cv2.THRESH_TOZERO_INV

threshold 閾值化為0
比較亮的部分不變,比較暗的部分處理成黑色為0
cv2.THRESH_TOZERO

到此這篇關(guān)于opencv 閾值分割的具體使用的文章就介紹到這了,更多相關(guān)opencv 閾值分割內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用sklearn庫實現(xiàn)的各種分類算法簡單應(yīng)用小結(jié)
這篇文章主要介紹了Python使用sklearn庫實現(xiàn)的各種分類算法,結(jié)合實例形式分析了Python使用sklearn庫實現(xiàn)的KNN、SVM、LR、決策樹、隨機森林等算法實現(xiàn)技巧,需要的朋友可以參考下2019-07-07
Python使用matplotlib.pyplot畫熱圖和損失圖的代碼詳解
眾所周知,在完成論文相關(guān)工作時畫圖必不可少,如損失函數(shù)圖、熱力圖等是非常常見的圖,在本文中,總結(jié)了這兩個圖的畫法,下面給出了完整的代碼,開箱即用,感興趣的同學(xué)可以自己動手嘗試一下2023-09-09
Python基礎(chǔ)學(xué)習(xí)列表+元組+字典+集合
這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)列表+元組+字典+集合,文章接上一篇內(nèi)容學(xué)習(xí),主要針對python零基礎(chǔ)的同學(xué),感興趣的話就學(xué)起來吧2022-05-05
python修改linux中文件(文件夾)的權(quán)限屬性操作
這篇文章主要介紹了python修改linux中文件(文件夾)的權(quán)限屬性操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python中使用socks5設(shè)置全局代理的方法示例
這篇文章主要介紹了Python中使用socks5設(shè)置全局代理的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

