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

OpenCV 12(圖像直方圖)

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

一、圖像直方圖

?直方圖可以讓你了解總體的圖像像素強度分布,其X軸為像素值(一般范圍為0~255),在Y軸上為圖像中具有該像素值像素數(shù)。

- 橫坐標: 圖像中各個像素點的灰度級.
- 縱坐標: 具有該灰度級的像素個數(shù).

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能


?

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

畫出上圖的直方圖:

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

或者以柱狀圖的形式:

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

- 歸一化直方圖

? - 橫坐標: 圖像中各個像素點的灰度級

? - 縱坐標: 出現(xiàn)這個灰度級的概率

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

- **直方圖術(shù)語**:?
? `dims`:需要統(tǒng)計的特征的數(shù)目。例如:`dims=1`,表示我們僅統(tǒng)計灰度值。?
? `bins`:每個特征空間子區(qū)段的數(shù)目。?

? `range`:統(tǒng)計灰度值的范圍, 一般為[0, 255]

1.1?使用OpenCV統(tǒng)計直方圖

- calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])

? - images: 原始圖像
? - channels: 指定通道.
? ? - 需要用中括號括起來, 輸入圖像是灰度圖像是, 值是[0], 彩色圖像可以是[0], [1], [2], 分別對應(yīng)B,G,R.
? - mask: 掩碼圖像

? ? - 統(tǒng)計整幅圖像的直方圖, 設(shè)為None
? ? - 統(tǒng)計圖像某一部分的直方圖時, 需要掩碼圖像.

- histSize: BINS的數(shù)量

?? ? - 需要用中括號括起來, 例如[256]??

- ranges: 像素值范圍, 例如[0, 255]
?- accumulate: 累積標識

? ? - 默認值為False
? ? - 如果被設(shè)置為True, 則直方圖在開始分配時不會被清零.
? ? - 該參數(shù)允許從多個對象中計算單個直方圖, 或者用于實時更新直方圖.
? ? - 多個直方圖的累積結(jié)果, 用于對一組圖像計算直方圖.?

  import cv2
  import matplotlib.pyplot as plt
  lena = cv2.imread('./lena.png')
  
  hist = cv2.calcHist([lena], [0], None, [256], [0, 255])
  print(type(hist))
  print(hist.size)
  print(hist.shape)
  print(hist)

1.2?使用OpenCV繪制直方圖

可以利用matplotlib把OpenCV統(tǒng)計得到的直方圖繪制出來.

import cv2
import matplotlib.pyplot as plt
lena = cv2.imread('./lena.png')

histb = cv2.calcHist([lena], [0], None, [256], [0, 255])
histg = cv2.calcHist([lena], [1], None, [256], [0, 255])
histr = cv2.calcHist([lena], [2], None, [256], [0, 255])

plt.plot(histb, color='b')
plt.plot(histg, color='g')
plt.plot(histr, color='r')
plt.show()

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

?

?

1.3??使用掩膜的直方圖

- 掩膜

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

?

- 如何生成掩膜
? - 先生成一個全黑的和原始圖片大小一樣大的圖片. ?

mask = np.zeros(image.shape, np.uint8)


? - 將想要的區(qū)域通過索引方式設(shè)置為255.

mask[100:200,?200: 300] = 255? #255 白色

import cv2
import matplotlib.pyplot as plt
lena = cv2.imread('./lena.png')
gray = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)

mask = np.zeros(gray.shape, np.uint8)
mask[200:400, 200: 400] = 255
hist_mask = cv2.calcHist([gray], [0], mask, [256], [0, 255])
hist_img = cv2.calcHist([gray], [0], None, [256], [0, 255])
plt.plot(hist_mask)
plt.plot(hist_img)

cv2.imshow('mask', cv2.bitwise_and(gray, gray, mask=mask))
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

二、直方圖均衡化原理

直方圖均衡化是通過拉伸像素強度的分布范圍,使得在0~255灰階上的分布更加均衡,提高了圖像的對比度,達到改善圖像主觀視覺效果的目的。對比度較低的圖像適合使用直方圖均衡化方法來增強圖像細節(jié)。

?

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

原理:

1. 計算累計直方圖

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

累計直方圖:對概率進行累計

2. 累計直方圖進行區(qū)間轉(zhuǎn)換

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

3. 在累計直方圖中, 概率相近的原始值, 會被處理為相同的值

- equalizeHist(src[, dst])
? - src 原圖像
? - dst 目標圖像, 即處理結(jié)果

import cv2
import matplotlib.pyplot as plt
lena = cv2.imread('./lena.png')
gray = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)

# lena變黑
gray_dark = gray - 40
# lena變亮
gray_bright = gray + 40

# 查看各自的直方圖
hist_gray = cv2.calcHist([gray], [0], None, [256], [0, 255])
hist_dark = cv2.calcHist([gray_dark], [0], None, [256], [0, 255])
hist_bright = cv2.calcHist([gray_bright], [0], None, [256], [0, 255])

plt.plot(hist_gray)
plt.plot(hist_dark)
plt.plot(hist_bright)

# 進行均衡化處理
dark_equ = cv2.equalizeHist(gray_dark)
bright_equ = cv2.equalizeHist(gray_bright)
cv2.imshow('gray_dark', np.hstack((gray_dark, dark_equ)))
cv2.imshow('gray_bright', np.hstack((gray_bright, bright_equ)))
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能

OpenCV 12(圖像直方圖),opencv,計算機視覺,人工智能文章來源地址http://www.zghlxwxcb.cn/news/detail-708868.html

到了這里,關(guān)于OpenCV 12(圖像直方圖)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python Opencv實踐 - 圖像直方圖均衡化

    Python Opencv實踐 - 圖像直方圖均衡化

    ? ? ?

    2024年02月11日
    瀏覽(22)
  • 使用OpenCV顯示圖像的RGB顏色直方圖
  • 【OpenCV ? c++】直方圖計算 | 繪制 H-S 直方圖 | 繪制一維直方圖 | 繪制 RGB 三色直方圖

    ??直方圖廣泛應(yīng)用于很多計算機視覺處理當中。通過標記幀與幀之間顯著的邊緣和顏色的變化,可以檢測視頻中的場景變化。在每個興趣點設(shè)置一個有相似特征的直方圖所構(gòu)成的“標簽”,可以用來標記各種不同的事情,比如圖像的色彩分布,物體邊緣梯度模板等等。是計

    2024年02月09日
    瀏覽(18)
  • 【opencv】教程代碼 —Histograms_Matching(2)計算直方圖、直方圖比較、直方圖均衡、模板匹配...

    【opencv】教程代碼 —Histograms_Matching(2)計算直方圖、直方圖比較、直方圖均衡、模板匹配...

    計算直方圖 直方圖比較 圖像進行直方圖均衡化處理 模板匹配 1.?calcHist_Demo.cpp?計算直方圖 這段代碼的功能是加載圖像,分離圖像的三個顏色通道,然后分別計算這三個通道的直方圖,繪制出來并顯示結(jié)果。直方圖是圖像中像素值分布的圖形表示,可以用于圖像分析或圖像處

    2024年04月11日
    瀏覽(21)
  • Python-OpenCV中的圖像處理-圖像直方圖

    Python-OpenCV中的圖像處理-圖像直方圖

    通過直方圖你可以對整幅圖像的灰度分布有一個整體的了解。直方圖的 x 軸是灰度值( 0 到 255), y 軸是圖片中具有同一個灰度的點的數(shù)目。 BINS:上面的直方圖顯示了每個灰度值對應(yīng)的像素數(shù)。如果像素值為 0到255,你就需要 256 個數(shù)來顯示上面的直方圖。但是,如果你不需

    2024年02月12日
    瀏覽(32)
  • OpenCV-Python中的圖像處理-圖像直方圖

    OpenCV-Python中的圖像處理-圖像直方圖

    通過直方圖你可以對整幅圖像的灰度分布有一個整體的了解。直方圖的 x 軸是灰度值( 0 到 255), y 軸是圖片中具有同一個灰度的點的數(shù)目。 BINS:上面的直方圖顯示了每個灰度值對應(yīng)的像素數(shù)。如果像素值為 0到255,你就需要 256 個數(shù)來顯示上面的直方圖。但是,如果你不需

    2024年02月12日
    瀏覽(24)
  • Python-OpenCV中的圖像處理-直方圖

    Python-OpenCV中的圖像處理-直方圖

    通過直方圖你可以對整幅圖像的灰度分布有一個整體的了解。直方圖的 x 軸是灰度值( 0 到 255), y 軸是圖片中具有同一個灰度的點的數(shù)目。 BINS:上面的直方圖顯示了每個灰度值對應(yīng)的像素數(shù)。如果像素值為 0到255,你就需要 256 個數(shù)來顯示上面的直方圖。但是,如果你不需

    2024年02月13日
    瀏覽(30)
  • Python Opencv實踐 - 圖像直方圖自適應(yīng)均衡化
  • 我在Vscode學(xué)OpenCV 圖像處理五(直方圖處理)

    我在Vscode學(xué)OpenCV 圖像處理五(直方圖處理)

    直方圖是一種統(tǒng)計圖,顯示了圖像中每個灰度級別(或顏色通道)的像素數(shù)量。通過分析圖像的直方圖,可以獲得關(guān)于圖像對比度、亮度和顏色分布等方面的重要信息。 了解圖像的對比度、亮度和色彩分布等信息。你可以使用OpenCV中的函數(shù)來計算和繪制圖像的直方圖,從而進

    2024年01月21日
    瀏覽(26)
  • calHist()-使用OpenCV和C++計算直方圖

    calHist()-使用OpenCV和C++計算直方圖

    在計算機視覺中,幾乎處處都使用直方圖。對于閾值計算,我們使用灰度直方圖。對于白平衡,我們使用直方圖。對于圖片中的對象跟蹤,比如CamShift技術(shù),我們使用顏色直方圖,采用顏色直方圖作為特征。 在更抽象的意義上,從梯度直方圖形成 HOG 和 SIFT 描述符。 直方圖也

    2024年01月17日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包