国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Python圖像閾值化處理及算法比對實(shí)例解析

瀏覽:3日期:2022-07-20 13:17:42

圖像的二值化或閾值化(Binarization)旨在提取圖像中的目標(biāo)物體,將背景以及噪聲區(qū)分開來。通常會(huì)設(shè)定一個(gè)閾值T,通過T將圖像的像素劃分為兩類:大于T的像素群和小于T的像素群。

灰度轉(zhuǎn)換處理后的圖像中,每個(gè)像素都只有一個(gè)灰度值,其大小表示明暗程度。二值化處理可以將圖像中的像素劃分為兩類顏色,常用的二值化算法如公式1所示:

{Y=0,gray<TY=255,gray>=T{Y=0,gray<TY=255,gray>=T​

當(dāng)灰度Gray小于閾值T時(shí),其像素設(shè)置為0,表示黑色;當(dāng)灰度Gray大于或等于閾值T時(shí),其Y值為255,表示白色。

Python OpenCV中提供了閾值函數(shù)threshold()實(shí)現(xiàn)二值化處理,其公式及參數(shù)如下圖所示:

retval, dst = cv2.threshold(src, thresh, maxval, type)

Python圖像閾值化處理及算法比對實(shí)例解析

二進(jìn)制閾值化

該方法先要選定一個(gè)特定的閾值量,比如127

1) 大于等于127的像素點(diǎn)的灰度值設(shè)定為最大值

2) 灰度值小于127的像素點(diǎn)的灰度值設(shè)置為0

例如: 156->255 89->0

關(guān)鍵字為cv2.THRESH_BINARY,完整代碼如下

import cv2def test22(): src = cv2.imread('rose.jpg') # 灰度圖片轉(zhuǎn)換 GrayImage = cv2.cvtColor(src, cv2.COLOR_BGR2BGRA) # 二進(jìn)制閾值化處理 r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_BINARY) # 顯示圖像 cv2.imshow('src', src) cv2.imshow('result', b) if cv2.waitKey(0) == 27: cv2.destroyAllWindows()test22()

效果如下:

Python圖像閾值化處理及算法比對實(shí)例解析

反二進(jìn)制閾值化

該方法與二進(jìn)制閾值化方法相似,先要選定一個(gè)特定的灰度值作為閾值,比如127

1) 大于127的像素點(diǎn)的灰度值設(shè)定為0

2) 小于該閾值的灰度值設(shè)定為255

例如:156->0 89->255

關(guān)鍵字為cv2.THRESH_BINARY_INV

代碼如下:

import cv2def test22(): src = cv2.imread('rose.jpg') # 灰度圖片轉(zhuǎn)換 GrayImage = cv2.cvtColor(src, cv2.COLOR_BGR2BGRA) # 二進(jìn)制閾值化處理 r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_BINARY_INV) # 顯示圖像 cv2.imshow('src', src) cv2.imshow('result', b) if cv2.waitKey(0) == 27: cv2.destroyAllWindows()test22()

效果如下:

Python圖像閾值化處理及算法比對實(shí)例解析

截?cái)嚅撝祷?/b>

該方法需要選定一個(gè)閾值,圖像中大于該閾值的像素點(diǎn)被設(shè)定為該閾值,小于該閾值的保持不變。

1) 大于等于127像素點(diǎn)的灰度值設(shè)定為該閾值127

2) 小于該閾值的灰度值不變

例如: 163-> 127 89->89

關(guān)鍵字cv2.THRESH_TRUNC,完整代碼如下

import cv2def test22(): src = cv2.imread('rose.jpg') # 灰度圖片轉(zhuǎn)換 GrayImage = cv2.cvtColor(src, cv2.COLOR_BGR2BGRA) # 二進(jìn)制閾值化處理 r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TRUNC) # 顯示圖像 cv2.imshow('src', src) cv2.imshow('result', b) if cv2.waitKey(0) == 27: cv2.destroyAllWindows()test22()

效果如下:

Python圖像閾值化處理及算法比對實(shí)例解析

反閾值化為0

該方法先選定一個(gè)閾值,比如127

(1) 大于等于閾值127的像素點(diǎn)變?yōu)?(2) 小于該閾值的像素點(diǎn)值保持不變

例如: 128->0 89->89

關(guān)鍵字為cv2.THRESH_TOZERO_INV,完整代碼如下:

import cv2def test22(): src = cv2.imread('rose.jpg') # 灰度圖片轉(zhuǎn)換 GrayImage = cv2.cvtColor(src, cv2.COLOR_BGR2BGRA) # 二進(jìn)制閾值化處理 r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TOZERO_INV) # 顯示圖像 cv2.imshow('src', src) cv2.imshow('result', b) if cv2.waitKey(0) == 27: cv2.destroyAllWindows()test22()

效果如下:

Python圖像閾值化處理及算法比對實(shí)例解析

閾值為0

該方法先選定一個(gè)閾值,比如127

(1) 大于等于閾值127的像素點(diǎn),值保持不變

(2) 小于該閾值的像素點(diǎn)值設(shè)置為0

例如: 163->163 102->0

關(guān)鍵字為cv2.THRESH_TOZERO,完整代碼如下:

import cv2def test22(): src = cv2.imread('rose.jpg') # 灰度圖片轉(zhuǎn)換 GrayImage = cv2.cvtColor(src, cv2.COLOR_BGR2BGRA) # 二進(jìn)制閾值化處理 r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TOZERO) # 顯示圖像 cv2.imshow('src', src) cv2.imshow('result', b) if cv2.waitKey(0) == 27: cv2.destroyAllWindows()test22()

效果如下:

Python圖像閾值化處理及算法比對實(shí)例解析

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品1区2区3区在线播放 | 国产成人福利视频在线观看 | 三级黄色在线观看 | 九九免费精品视频在这里 | 国产精品久久久久免费视频 | 久久精品男人的天堂 | 一区二区高清在线 | 九九热视频精品在线观看 | 亚洲高清在线观看视频 | 精品国产成人三级在线观看 | 韩国午夜三级理论 | 久久综合中文字幕一区二区三区 | 国产成人精品.一二区 | 国产日本韩国 | 中国性孕妇孕交在线 | 亚洲毛片在线观看 | 精品午夜久久网成年网 | 操美女大逼视频 | 黄色三级网络 | 男女视频在线观看免费高清观看 | 国产欧美日韩精品高清二区综合区 | 美女黄色三级 | 午夜免费的国产片在线观看 | 欧美成人久久一级c片免费 欧美成人看片黄a免费 | 久久久这里只有精品加勒比 | 日韩毛片免费线上观看 | 午夜影院在线免费 | 日本在线亚洲 | 久久久在线 | 亚洲成年人专区 | 日本三级全黄三级a | 国产日韩一区二区三区在线观看 | 欧美日韩亚洲综合在线一区二区 | 特级av毛片免费观看 | 日韩经典视频 | 国产成人深夜福利在线观看 | 免费看欧美日韩一区二区三区 | 亚洲国产精品综合久久20 | 久久国产成人 | 国产呦系列呦 | 免费一级欧美大片视频在线 |