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

OpenCV圖像處理之圖像的二值化解讀

 更新時(shí)間:2023年02月20日 17:01:30   作者:B.Bz  
這篇文章主要介紹了OpenCV圖像處理之圖像的二值化解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

圖像二值化( Image Binarization)就是將圖像上的像素點(diǎn)的灰度值設(shè)置為0或255,也就是將整個(gè)圖像呈現(xiàn)出明顯的黑白效果的過程。

二值化的原理

import cv2

img = cv2.imread('img/lena.jpg')
# 轉(zhuǎn)為灰度圖
new_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
height, width = new_img.shape[0:2]

# 設(shè)置閾值
thresh = 60

# 遍歷每一個(gè)像素點(diǎn)
for row in range(height):
    for col in range(width):
        # 獲取到灰度值
        gray = new_img[row, col]
        # 如果灰度值高于閾值 就等于255最大值
        if gray > thresh:
            new_img[row, col] = 255
        # 如果小于閾值,就直接改為0
        elif gray < thresh:
            new_img[row, col] = 0

cv2.imshow('img', new_img)
cv2.waitKey()

OpenCV提供的圖像二值化API

threshold()方法參數(shù):

  • 圖片矩陣
  • 閾值
  • 圖片中的最大值
  • 二值化的方式

二值化的方式:

THRESH_BINARY高于閾值改為255,低于閾值改為0
THRESH_BINARY_INV高于閾值改為0,低于閾值改為255
THRESH_TRUNC截?cái)?高于閾值改為閾值,最大值失效
THRESH_TOZERO高于閾值不改變,低于閾值改為0
THRESH_TOZERO_INV高于閾值該為0,低于閾值不改變
import cv2

img = cv2.imread('img/lena.jpg', cv2.IMREAD_GRAYSCALE)

thresh, new_img = cv2.threshold(img, 60, 255, cv2.THRESH_BINARY)

print(thresh)
cv2.imshow('img', img)
cv2.imshow('NEW_IMG', new_img)
cv2.waitKey()

自適應(yīng)閾值

使用一個(gè)全局值作為閾值。但是在所有情況下這可能都不太好。

如果圖像在不同區(qū)域具有不同的照明條件。

在這種情況下,自適應(yīng)閾值閾值可以幫助。這里,算法基于其周圍的小區(qū)域確定像素的閾值。

因此,我們?yōu)橥粓D像的不同區(qū)域獲得不同的閾值,這為具有不同照明的圖像提供了更好的結(jié)果。

adaptlive()方法參數(shù):

  • 1.圖片矩陣
  • 2.圖片灰度最大值
  • 3.計(jì)算閾值的方法
  • 4.閾值類型
  • 5.處理塊大小
  • 6.算法所用的常量C

cv2.ADAPTIVE_THRESH_MEAN_C:該閾值是該附近區(qū)域減去恒定的平均Ç。

cv2.ADAPTIVE_THRESH_GAUSSIAN_C:閾值是鄰域值減去常數(shù)C的高斯加權(quán)和。

import cv2

img = cv2.imread('img/lena.jpg', cv2.IMREAD_GRAYSCALE)

thresh_img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 5)

cv2.imshow('thresh_img', thresh_img)
cv2.waitKey()

大津算法(最大類間方差法)

圖像分割中閾值選取的最佳算法

threshold(gaussian_img, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
import cv2

img = cv2.imread('img/lena.jpg', cv2.IMREAD_GRAYSCALE)

# 使用255的閾值進(jìn)行二值化
ret, thresh_img = cv2.threshold(img, 255, 255, cv2.THRESH_BINARY)
cv2.imshow('normal', thresh_img)

# 使用高斯濾波模糊圖像  參數(shù)1: 圖片矩陣  參數(shù)2:卷積核 參數(shù)3: 越大越模糊
gaussian_img = cv2.GaussianBlur(img, (5, 5), 0)
cv2.imshow('gaussian_img', gaussian_img)

# 使用大津算法0閾值二值化經(jīng)過高斯濾波模糊后的圖像
ret, thresh_img = cv2.threshold(gaussian_img, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)

cv2.imshow('otsu', thresh_img)

cv2.imshow('img', img)
cv2.waitKey()

原圖:

使用255的閾值進(jìn)行二值化 圖片全黑了:

使用高斯濾波模糊圖像:

圖片矩陣卷積核越大越模糊

使用0閾值的大津算法二值化經(jīng)過高斯濾波模糊后的圖像:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • TensorFlow 實(shí)戰(zhàn)之實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例講解

    TensorFlow 實(shí)戰(zhàn)之實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例講解

    下面小編就為大家分享一篇TensorFlow 實(shí)戰(zhàn)之實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過程分析(顯卡MX250+CUDA9.0+cudnn)

    Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過程分析(顯卡MX250+CUDA9.

    這篇文章主要介紹了Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過程(顯卡MX250+CUDA9.0+cudnn),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python列表的切片與復(fù)制示例分析

    python列表的切片與復(fù)制示例分析

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python列表的切片與復(fù)制示例分析及相關(guān)代碼,有興趣點(diǎn)朋友們可以參考下。
    2021-10-10
  • Python中property屬性的用處詳解

    Python中property屬性的用處詳解

    這篇文章主要給大家介紹了關(guān)于Python中property屬性的相關(guān)資料,需簡(jiǎn)單地說就是一個(gè)類里面的方法一旦被@property裝飾,就可以像調(diào)用屬性一樣地去調(diào)用這個(gè)方法,它能夠簡(jiǎn)化調(diào)用者獲取數(shù)據(jù)的流程,而且不用擔(dān)心將屬性暴露出來,有人對(duì)其進(jìn)行賦值操作,下面要的朋友可以參考下
    2022-04-04
  • python構(gòu)建基礎(chǔ)的爬蟲教學(xué)

    python構(gòu)建基礎(chǔ)的爬蟲教學(xué)

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python構(gòu)建基礎(chǔ)的爬蟲教學(xué)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2018-12-12
  • python函數(shù)參數(shù)(必須參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù))

    python函數(shù)參數(shù)(必須參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù))

    這篇文章主要介紹了python函數(shù)參數(shù)(必須參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù))的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • django創(chuàng)建超級(jí)用戶過程解析

    django創(chuàng)建超級(jí)用戶過程解析

    這篇文章主要介紹了django創(chuàng)建超級(jí)用戶過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • pandas 數(shù)據(jù)結(jié)構(gòu)之Series的使用方法

    pandas 數(shù)據(jù)結(jié)構(gòu)之Series的使用方法

    這篇文章主要介紹了pandas 數(shù)據(jù)結(jié)構(gòu)之Series的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python3打包exe代碼2種方法實(shí)例解析

    Python3打包exe代碼2種方法實(shí)例解析

    這篇文章主要介紹了Python3打包exe代碼2種方法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 這十大Python庫你真應(yīng)該知道

    這十大Python庫你真應(yīng)該知道

    這篇文章主要為大家詳細(xì)介紹了十大Python庫,學(xué)習(xí)數(shù)據(jù)分析應(yīng)該弄清楚該學(xué)習(xí)什么技能,該使用哪種工具,本文具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論

阿克苏市| 营口市| 镇远县| 新竹市| 获嘉县| 郓城县| 新源县| 都江堰市| 公主岭市| 望江县| 昌乐县| 铁岭县| 苍梧县| 陇西县| 江北区| 视频| 梅州市| 萝北县| 蓝田县| 唐河县| 庐江县| 曲麻莱县| 房山区| 高淳县| 崇义县| 自贡市| 广灵县| 海宁市| 象山县| 杭锦后旗| 定西市| 莱芜市| 东辽县| 文山县| 东安县| 星子县| 禹城市| 崇礼县| 宕昌县| 疏附县| 潢川县|