国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[2] 圖像處理之----二值化處理

這篇具有很好參考價值的文章主要介紹了[2] 圖像處理之----二值化處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、什么是二值化處理

我們都知道,圖像是由矩陣構成,矩陣中每個點的RGB值都不一樣,呈現(xiàn)出來的色彩不一樣,最終整體呈現(xiàn)給我們的就是一張彩色的圖像。所謂”二值化處理“就是將矩陣中每個點的RGB值(0,0,0)[黑色]或者(255,255,255)[白色]

2、為什么要進行二值化處理

早期人們使用計算機處理圖像是,實在圖像灰度化處理的基礎上在進行操作的,但是當時的硬件水平不足,所以處理速度很慢,于是人們引入了圖像二值化處理。二值化處理使得原本顏色的取值范圍從256種變?yōu)?種,確實是提高了計算速度,但是丟失的信息也多了,因此具體采用什么方式處理,要根據(jù)具體情況來選擇。

3、如何進行二值化處理

(1)簡單閾值

簡單閾值是選取一個全局閾值,然后把整幅圖像分成非黑即白的二值圖像,灰度值大于閾值就賦為255反之為0。

ret,mask = cv2.threshold(img2gray,175,255,cv2.THRESH_BINAR)

返回值一: 閾值,(Otsu‘s二值化會用到)
返回值二: 處理以后的圖像
參數(shù)一: 初始圖像
參數(shù)二:我們自己設定的閾值
參數(shù)三: 當圖像像素置超過我們的設定的閾值時賦為255
參數(shù)四 : 我們設定的二值化類型

閾值 小于閾值 大于閾值
THRESH_BINARY 置0 置填充色
THRESH_BINARY_INV 置填充色 0
THRESH_TRUNC 保持原色 置灰色
THRESH_TOZERO 置0 保持原色
THRESH_TOZERO_INV 保持原色 置0

注:cv2.threshold最后一個參數(shù)可以寫為0,1,2,3,4按順序對應表格中的五種
代碼如下

import cv2
import matplotlib.pyplot as plt

img = cv2.imread('dog.jpeg', 0)  # 直接讀為灰度圖像
ret, thresh1 = cv2.threshold(img, 127, 255, 0)
ret, thresh2 = cv2.threshold(img, 127, 255, 1)
ret, thresh3 = cv2.threshold(img, 127, 255, 2)
ret, thresh4 = cv2.threshold(img, 127, 255, 3)
ret, thresh5 = cv2.threshold(img, 127, 255, 4)
titles = ['img', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
for i in range(6):
    plt.subplot(2, 3, i + 1), plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()

[2] 圖像處理之----二值化處理
注:將閾值大于127的像素值置為255

(2)自適應閾值

簡單閾值的方式過于粗魯,自適應閾值更趨向于局部性的閾值,也就是說,將像素點的像素值與該點所在的區(qū)域的像素值的平均值(最大值,中位數(shù)等)決定該店屬于0還是1

th2 = cv.adaptiveThreshold(img,255,cv.ADAPTIVE_THRESH_MEAN_C,0,11,2)

返回值: 處理后返回的圖像
參數(shù)一: 原始圖像
參數(shù)二:像素值上限
參數(shù)三:自適應方法
— cv2.ADAPTIVE_THRESH_MEAN_C :領域內均值
—cv2.ADAPTIVE_THRESH_GAUSSIAN_C :領域內像素點加權和
參數(shù)四:賦值方式(參考簡單閾值中介紹的表格)
參數(shù)五:設定方陣的大?。ㄒ驗槭菍⒁粋€點與其周圍的方陣數(shù)據(jù)對比)
參數(shù)六:常數(shù),每個區(qū)域計算出的閾值的基礎上在減去這個常數(shù)作為這個區(qū)域的最終閾值,可以為負數(shù)



import cv2 as cv
import numpy as np


from matplotlib import pyplot as plt
img = cv.imread('dog.jpeg',0)
img = cv.medianBlur(img,5)

ret,th1 = cv.threshold(img,127,255,cv.THRESH_BINARY)
th2 = cv.adaptiveThreshold(img,255,cv.ADAPTIVE_THRESH_MEAN_C,0,11,2)
th3 = cv.adaptiveThreshold(img,255,cv.ADAPTIVE_THRESH_GAUSSIAN_C,0,11,2)

titles = ['Original Image', 'Global Thresholding (v = 127)',
            'Adaptive Mean Thresholding', 'Adaptive Gaussian Thresholding']
images = [img, th1, th2, th3]
for i in range(4):
    plt.subplot(2,2,i+1),plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([]),plt.yticks([])
plt.show()

[2] 圖像處理之----二值化處理

(3)Otsu’s二值化

對于簡單閾值,cv2.threshold()的第二個參數(shù)是我們自己設定的閾值范圍,一張圖片的最好的閾值分界線不是憑感覺看出來的,而是有合理的方式能找到的,threshold的第一個返回值就是處理圖片的閾值分界線。因此,只要在threshold函數(shù)的最后一個參數(shù)在原有的基礎上加上’cv2.THRESH_OTSU‘那么第一個返回值就是最佳閾值。直接看代碼更好理解。
注:OTSU非常適合灰度直方圖具有雙峰值的情況

import cv2
import matplotlib.pyplot as plt

img = cv2.imread('cat.jpg', 0)  # 直接讀為灰度圖像
# 簡單濾波
ret1, th1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
print(ret1)
# Otsu 濾波
ret2, th2 = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
print(ret2)

plt.figure()
plt.subplot(221), plt.imshow(img,'gray')
plt.subplot(222), plt.hist(img.ravel(), 256)  # .ravel方法將矩陣轉化為一維
plt.subplot(223), plt.imshow(th1,'gray')
plt.subplot(224), plt.imshow(th2,'gray')
plt.show()

[2] 圖像處理之----二值化處理

4、參考文獻:

https://numpy.org/doc/stable/reference/generated/numpy.hstack.html
https://zhuanlan.zhihu.com/p/360824614
https://blog.csdn.net/jjddss/article/details/72841
https://blog.csdn.net/li_l_il/article/details/86767790
https://blog.csdn.net/JNingWei/article/details/77747959
https://blog.csdn.net/weixin_35732969/article/details/83779660

聲明:部分圖像源自網(wǎng)絡,本文僅供學習交流使用,如果不妥,請聯(lián)系刪除。文章來源地址http://www.zghlxwxcb.cn/news/detail-453233.html

到了這里,關于[2] 圖像處理之----二值化處理的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • FPGA|數(shù)字圖像處理實現(xiàn)口罩識別——二值化

    FPGA|數(shù)字圖像處理實現(xiàn)口罩識別——二值化

    【寫在前面】剛入門小菜鳥,記錄一下口罩識別學習過程。參考文件和網(wǎng)址會在文末注明。有錯誤歡迎指出,也歡迎進行補充~ 原理圖如下,二值化對應為紅框里的部分 使用的二值化方法是 手動指定一個 閾值 ,通過閾值來進行二值化處理 。(還有一種方法是一個自適應閾值

    2023年04月11日
    瀏覽(18)
  • OpenCV常用功能——灰度處理和圖像二值化處理

    1.1 cvtColor函數(shù) 函數(shù)原型: 功能 :轉換圖像顏色空間。 參數(shù) : src: 輸入圖像。 code: 顏色空間轉換代碼??梢匀〕A縞v2.COLOR_BGR2GRAY或cv2.COLOR_RGB2GRAY。 dst: 輸出圖像。 dstCn: 輸出圖像的通道數(shù),如果設置為0,則跟隨轉換代碼自動設置。 內置函數(shù)示例代碼: 灰度處理的原理是將

    2024年02月08日
    瀏覽(26)
  • python圖像處理實戰(zhàn)(二)—二值化圖像與線性變換

    python圖像處理實戰(zhàn)(二)—二值化圖像與線性變換

    ??寫在前面?? ??個人主頁:https://blog.csdn.net/m0_52051577?type=blog? ??歡迎各位大佬支持點贊收藏,三連必回??! ??本人新開系列專欄—python圖像處理 ?愿每一個驟雨初晴之時,所有的蜻蜓振翅和雨后驚雷,都歸你。 前言 ????????首先引入以下灰度變換的概念。 ?????

    2024年02月07日
    瀏覽(26)
  • C#使用OpenCv(OpenCVSharp)圖像局部二值化處理實例

    ? 本文實例演示C#語言中如何使用OpenCv(OpenCVSharp)對圖像進行局部二值化處理。 目錄 圖像二值化原理 局部二值化 自適應閾值 實例 效果

    2024年02月13日
    瀏覽(25)
  • C#使用OpenCv(OpenCVSharp)圖像全局二值化處理實例

    本文實例演示C#語言中如何使用OpenCv(OpenCVSharp)對圖像進行全局二值化處理。 目錄 圖像二值化原理 函數(shù)原型 參數(shù)說明 實例 效果

    2024年02月13日
    瀏覽(30)
  • 二、FPGA實時圖像處理(灰度轉換、高斯濾波、二值化和邊緣檢測)

    二、FPGA實時圖像處理(灰度轉換、高斯濾波、二值化和邊緣檢測)

    基于圖像實時采集系統(tǒng)實現(xiàn)圖像處理 算法:采用精度為7的心理學公式:Gray = R 0.299 + G 0.587 + B 0.114, Gray = R 38 + G 75 + B 15 7 采用sobel算子進行邊緣檢測。 可以通過參數(shù)定義修改二值化和邊緣檢測閾值,以及控制是否進行圖像處理和圖像處理類型選擇。 高斯濾波效果不明顯不做演

    2024年02月11日
    瀏覽(28)
  • 圖像二值化處理(全局閾值 自適應閾值 手動閾值操作以及直方圖畫法)

    圖像二值化處理(全局閾值 自適應閾值 手動閾值操作以及直方圖畫法)

    圖像二值化就是把讓圖像的像素點只有0和1(只有黑白兩各種顏色,黑是背景,白是前景),關鍵點是尋找一個閾值T,使圖像中小于閾值T的像素點變?yōu)?,大于T的像素點變?yōu)?55。下面介紹的就是尋找一個圖像的閾值T的方法。(主要根據(jù)直方圖) retval:返回的閾值(double類型)

    2024年02月08日
    瀏覽(30)
  • OpenCV-Python學習(10)—— OpenCV 圖像二值化處理(cv.threshold)

    OpenCV-Python學習(10)—— OpenCV 圖像二值化處理(cv.threshold)

    1. 學習目標 理解圖像的分類,不同類型的圖像的區(qū)別; 對圖像進行二值化處理,對【 cv.threshold 】函數(shù)的理解。 2. 圖像分類 2.1 不同類型圖像說明 按照顏色對圖像進行分類,可以分為二值圖像、灰度圖像和彩色圖像。 二值圖像: 只有黑色和白色兩種顏色的圖像。 每個像素

    2024年02月03日
    瀏覽(103)
  • 圖像處理(二值圖、灰度圖、彩色圖像)

    圖像處理(二值圖、灰度圖、彩色圖像)

    圖像處理之二值圖像、灰度圖像、RGB圖像 1、二值圖像 定義:二值圖像是值僅僅包含黑色和白色的圖像 計算機在處理時,會把黑色像素點處理為0,白色像素點處理1。由于只用一個比特位就能表示,所以稱之為二值圖像。 2、灰度圖 為了表達更豐富的顏色細節(jié),灰度圖采用更

    2024年02月06日
    瀏覽(28)
  • opencv-圖像處理基礎-二值圖像

    opencv-圖像處理基礎-二值圖像

    1.二值圖像 二值圖像是指僅僅包含黑色和白色兩種顏色的圖像。 在計算機中,通過一個柵格狀排列的數(shù)據(jù)集(矩陣)來表示和處理圖像。例如,圖 2-1 是 一個字母 A 的圖像,計算機在處理該圖像時,會首先將其劃分為一個個的小方塊,每一個小方 塊就是一個獨立的處理單位

    2024年02月15日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包