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

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

反二進制閾值化
首先設(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 二進制閾值
把亮的處理成白色,暗的處理成黑色
區(qū)別二值化閾值:二值化只有0,1。
二進制閾值:可以有其他兩個數(shù)。二值化是特殊的二進制閾值。
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 反二進制閾值
把亮的處理成黑色,暗的處理成白色
修改前文代碼
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)文章
關(guān)于python tushare Tkinter構(gòu)建的簡單股票可視化查詢系統(tǒng)(Beta v0.13)
這篇文章主要介紹了python tushare Tkinter構(gòu)建的簡單股票可視化查詢系統(tǒng)(Beta v0.13),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Python處理命令行參數(shù)模塊optpars用法實例分析
這篇文章主要介紹了Python處理命令行參數(shù)模塊optpars用法,結(jié)合實例形式分析了optpars模塊的功能,Python使用optpars模塊設(shè)置命令行參數(shù)相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
django框架創(chuàng)建應(yīng)用操作示例
這篇文章主要介紹了django框架創(chuàng)建應(yīng)用操作,結(jié)合實例形式分析了Django框架的安裝、創(chuàng)建項目、創(chuàng)建數(shù)據(jù)庫及創(chuàng)建應(yīng)用相關(guān)操作技巧,需要的朋友可以參考下2019-09-09

