最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年06月19日 11:02:13   作者:程序欲向  
這篇文章主要介紹了Python圖像閾值化處理及算法比對實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

圖像的二值化或閾值化(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)

二進(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 cv2
def 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()

效果如下:

反二進(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 cv2
def 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()

效果如下:

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

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

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

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

例如: 163-> 127 89->89

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

import cv2
def 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()

效果如下:

反閾值化為0

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

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

例如: 128->0 89->89

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

import cv2
def 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()

效果如下:

閾值為0

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

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

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

例如: 163->163 102->0

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

import cv2
def 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()

效果如下:

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

相關(guān)文章

  • Python中的HTTP請求庫Requests的具體使用

    Python中的HTTP請求庫Requests的具體使用

    Python作為一種功能強(qiáng)大且易于學(xué)習(xí)的編程語言,提供了許多用于處理HTTP請求的庫,其中,Requests庫是最受歡迎的選擇之一,本文主要介紹了Python中的HTTP請求庫Requests的具體使用,感興趣的可以了解一下
    2023-12-12
  • 基于python讀取.mat文件并取出信息

    基于python讀取.mat文件并取出信息

    這篇文章主要介紹了基于python讀取.mat文件并取出信息,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python3實(shí)現(xiàn)打格點(diǎn)算法的GPU加速實(shí)例詳解

    Python3實(shí)現(xiàn)打格點(diǎn)算法的GPU加速實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Python3實(shí)現(xiàn)打格點(diǎn)算法的GPU加速的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系

    簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系

    這篇文章主要介紹了簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python裝飾器知識(shí)點(diǎn)補(bǔ)充

    Python裝飾器知識(shí)點(diǎn)補(bǔ)充

    本篇文章給大家補(bǔ)充了關(guān)于Python裝飾器的相關(guān)知識(shí)點(diǎn)內(nèi)容,大家可以跟著學(xué)習(xí)參考下。
    2018-05-05
  • python處理列表的部分元素的實(shí)例詳解

    python處理列表的部分元素的實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python處理列表的部分元素的實(shí)例詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-09-09
  • 對PyQt5中的菜單欄和工具欄實(shí)例詳解

    對PyQt5中的菜單欄和工具欄實(shí)例詳解

    今天小編就為大家分享一篇對PyQt5中的菜單欄和工具欄實(shí)例詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 簡單談?wù)凱ython中的元祖(Tuple)和字典(Dict)

    簡單談?wù)凱ython中的元祖(Tuple)和字典(Dict)

    這篇文章主要介紹了關(guān)于Python中元祖(Tuple)和字典(Dict)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • Python 中拼音庫 PyPinyin 用法詳解

    Python 中拼音庫 PyPinyin 用法詳解

    很多朋友問小編怎樣把一批中文文件轉(zhuǎn)拼音命名呢?下面就讓我們來了解 Python 的一個(gè)庫 PyPinyin 吧,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • python用字典統(tǒng)計(jì)單詞或漢字詞個(gè)數(shù)示例

    python用字典統(tǒng)計(jì)單詞或漢字詞個(gè)數(shù)示例

    這篇文章主要介紹了python用字典統(tǒng)計(jì)單詞或漢字詞個(gè)數(shù)示例,需要的朋友可以參考下
    2014-04-04

最新評論

柳河县| 彭水| 洛隆县| 左云县| 咸丰县| 塔城市| 安岳县| 马公市| 滨海县| 威远县| 西安市| 河东区| 临桂县| 九寨沟县| 盖州市| 岳西县| 黄石市| 陕西省| 环江| 惠安县| 土默特左旗| 安仁县| 嘉义县| 南开区| 德江县| 武穴市| 德庆县| 龙游县| 怀来县| 弥勒县| 沾化县| 东明县| 车险| 苍溪县| 呼伦贝尔市| 灵山县| 庄河市| 麻江县| 嫩江县| 阳朔县| 晋州市|