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

彩色圖像處理之彩色圖像直方圖處理的python實(shí)現(xiàn)——數(shù)字圖像處理

這篇具有很好參考價(jià)值的文章主要介紹了彩色圖像處理之彩色圖像直方圖處理的python實(shí)現(xiàn)——數(shù)字圖像處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

彩色圖像的直方圖處理是一種重要的圖像處理技術(shù),用于改善圖像的視覺效果,增強(qiáng)圖像的對(duì)比度,或?yàn)楹罄m(xù)的圖像處理任務(wù)(如圖像分割、特征提?。┳鰷?zhǔn)備。彩色圖像通常由紅色(R)、綠色(G)、藍(lán)色(B)三個(gè)顏色通道組成,因此彩色圖像的直方圖處理相比單色圖像更為復(fù)雜。

直方圖的構(gòu)建:

首先,對(duì)于彩色圖像的每個(gè)顏色通道(R、G、B),分別計(jì)算其直方圖。直方圖是一個(gè)圖表,顯示了每個(gè)像素強(qiáng)度值(通常是0-255)在圖像中出現(xiàn)的頻率。
對(duì)于每個(gè)通道,直方圖將有256個(gè)可能的強(qiáng)度值(或“桶”),每個(gè)桶的高度表示該強(qiáng)度值在相應(yīng)通道中出現(xiàn)的次數(shù)。
直方圖均衡化:

直方圖均衡化是一種常見的彩色圖像直方圖處理方法,目的是增強(qiáng)圖像的全局對(duì)比度。
在這個(gè)過程中,對(duì)每個(gè)顏色通道的直方圖進(jìn)行變換,使得最終的輸出圖像的直方圖具有大致均勻的分布。這意味著在調(diào)整后的圖像中,每個(gè)強(qiáng)度值的像素大致相同。
這種方法特別適用于圖像的背景和前景都很暗或者都很亮的情況。
直方圖規(guī)定化(匹配):

直方圖規(guī)定化是另一種方法,它涉及修改一個(gè)圖像的直方圖以匹配另一個(gè)特定圖像的直方圖。
這通常用于標(biāo)準(zhǔn)化不同圖像的光照條件,或者在特定應(yīng)用中使圖像風(fēng)格一致。
局部直方圖處理:

除了對(duì)整個(gè)圖像進(jìn)行直方圖處理,還可以對(duì)圖像的局部區(qū)域進(jìn)行處理,以增強(qiáng)局部對(duì)比度或特定區(qū)域的細(xì)節(jié)。
顏色空間轉(zhuǎn)換:

在進(jìn)行直方圖處理之前,有時(shí)會(huì)將圖像從RGB顏色空間轉(zhuǎn)換到其他顏色空間,如HSV(色相、飽和度、亮度)或YCbCr,因?yàn)樵谶@些顏色空間中進(jìn)行處理有時(shí)會(huì)得到更好的視覺效果或更符合特定應(yīng)用的需求。
彩色圖像直方圖處理的關(guān)鍵在于理解和操作圖像的顏色分布,以及如何通過調(diào)整這些分布來改善圖像的整體或局部視覺質(zhì)量。正確應(yīng)用這些技術(shù)可以顯著提升圖像的視覺效果和適用性。

代碼實(shí)現(xiàn)下圖

彩色圖像處理之彩色圖像直方圖處理的python實(shí)現(xiàn)——數(shù)字圖像處理,圖像處理,python,計(jì)算機(jī)視覺,人工智能,opencv,圖像處理

提示

結(jié)果圖顯示了分別對(duì)R、G、B分量進(jìn)行直方圖均衡和將原圖轉(zhuǎn)換到HSI空間后保留H、S不變,只對(duì)I分量進(jìn)行直方圖均衡的結(jié)果。
圖像分量的分離和合并可以用cv2.split和cv2.merge函數(shù)實(shí)現(xiàn),直方圖均衡仍然用cv2.equalizeHist函數(shù)實(shí)現(xiàn)。
由于cv2.equalizeHist規(guī)定參數(shù)必須是uint8類型的,所以得到[0,1]范圍內(nèi)的I分量后還需將其轉(zhuǎn)換到[0,255]范圍內(nèi)并進(jìn)行類型轉(zhuǎn)換I_uint8 = (I*255).astype(np.uint8)后再進(jìn)行直方圖均衡。最后,將未改變的H、S分量和均衡后的I分量合并并轉(zhuǎn)換為R、G、B分量。

python代碼

import cv2
import numpy as np
import math
from matplotlib import pyplot as plt

# RGB轉(zhuǎn)HSI,輸入的三分量值域范圍為[0,255],輸出均在[0,1]之間
def RGB2HSI(r, g, b):
    r = r / 255
    g = g / 255
    b = b / 255

    num = 0.5 * ((r-g) + (r-b))
    den = ((r-g) ** 2 + (r-b) * (g-b)) ** 0.5
    h = math.acos(num / (den+1e-10))
    if b > g:
        h = 2*np.pi - h

    s = 1 - 3*min(r, g, b) / (r+g+b+1e-10)
    i = (r+g+b) / 3

    h = h / (2*np.pi)
    return h, s, i

# HSI轉(zhuǎn)RGB,輸入和輸出的值域范圍均為[0,1]
def HSI2RGB(h, s, i):
    h = h * 2 * np.pi

    if h < 2*np.pi/3:
        b = i * (1 - s)
        r = i * (1 + s * math.cos(h) / math.cos(np.pi/3 - h))
        g = 3*i - (b+r)
    elif h < 4*np.pi/3:
        r = i * (1 - s)
        g = i * (1 + s * math.cos(h - 2*np.pi/3) / math.cos(np.pi - h))
        b = 3 * i - (r + g)
    else:
        g = i * (1 - s)
        b = i * (1 + s * math.cos(h - 4*np.pi/3) / math.cos(5*np.pi/3 - h))
        r = 3 * i - (g + b)

    return r, g, b

img = cv2.imread('Fig0637.tif')

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
rows = img.shape[0]
cols = img.shape[1]

# 分別對(duì)R,G,B三個(gè)分量執(zhí)行直方圖均衡
(R, G, B) = cv2.split(img)
R_equ = cv2.equalizeHist(R)
G_equ = cv2.equalizeHist(G)
B_equ = cv2.equalizeHist(B)
img1 = cv2.merge([R_equ, G_equ, B_equ])

# RGB空間轉(zhuǎn)換到HSI空間
H = np.zeros((rows, cols))
S = np.zeros((rows, cols))
I = np.zeros((rows, cols))

for x in range(rows):
    for y in range(cols):
        r, g, b = img[x, y, :]
        H[x, y], S[x, y], I[x, y] = RGB2HSI(r, g, b)

# 將強(qiáng)度分量I轉(zhuǎn)換到[0,255]范圍內(nèi)再進(jìn)行直方圖均衡
I_uint8 = (I*255).astype(np.uint8)
# hist = cv2.calcHist([I_uint8], [0], None, [256], [0, 256])
# plt.subplot(1,2,1)
# plt.plot(hist)
I_equ = cv2.equalizeHist(I_uint8)
# hist_equ = cv2.calcHist([I_equ], [0], None, [256], [0, 256])
I_equ = I_equ / 255
# plt.subplot(1,2,2)
# plt.plot(hist_equ)
# plt.show()

# 保持色調(diào)H和飽和度S不變,結(jié)合均衡化后的強(qiáng)度I,轉(zhuǎn)回RGB空間
R_new = np.zeros((rows, cols))
G_new = np.zeros((rows, cols))
B_new = np.zeros((rows, cols))

for x in range(rows):
    for y in range(cols):
        h = H[x, y]
        s = S[x, y]
        i = I_equ[x, y]
        # i = I[x, y]
        R_new[x, y], G_new[x, y], B_new[x, y] = HSI2RGB(h, s, i)

#R_new = (255*(R_new-R_new.min())/(R_new.max()-R_new.min())).astype(np.uint8)
#G_new = (255*(G_new-G_new.min())/(G_new.max()-G_new.min())).astype(np.uint8)
#B_new = (255*(B_new-B_new.min())/(B_new.max()-B_new.min())).astype(np.uint8)
img2 = cv2.merge([R_new, G_new, B_new])
img2 = np.clip(img2, 0, 1)

plt.subplot(1, 3, 1)
plt.imshow(img)
plt.axis('off')
plt.title('orig zzinal')

plt.subplot(1, 3, 2)
plt.imshow(img1)
plt.axis('off')
plt.title('RGB_hist_equ')

plt.subplot(1, 3, 3)
plt.imshow(img2)
plt.axis('off')
plt.title('I_hist_equ')

plt.show()

結(jié)果展示

彩色圖像處理之彩色圖像直方圖處理的python實(shí)現(xiàn)——數(shù)字圖像處理,圖像處理,python,計(jì)算機(jī)視覺,人工智能,opencv,圖像處理

總結(jié)

在灰度圖像處理中,直方圖均衡化自動(dòng)地確定一種變換,改變換試圖產(chǎn)生具有均勻灰度的直方圖。由于彩色圖像是由多個(gè)分量組成的,所以必須考了適應(yīng)多于一個(gè)分量的直方圖的灰度級(jí)技術(shù)。獨(dú)立地進(jìn)行彩色圖像分量的直方圖均衡通常是不可取的,這將產(chǎn)生不正確的彩色。一個(gè)更符合邏輯的方法是均勻地?cái)U(kuò)展彩色強(qiáng)度,而保留彩色本身。
圖像直方圖是反映一個(gè)圖像像素分布的統(tǒng)計(jì)表,其橫坐標(biāo)代表了圖像像素的種類,可以是灰度的,也可以是彩色的。縱坐標(biāo)代表了每一種顏色值在圖像中的像素總數(shù)或者占所有像素個(gè)數(shù)的百分比。圖像是由像素構(gòu)成,因?yàn)榉从诚袼胤植嫉闹狈綀D往往可以作為圖像一個(gè)很重要的特征。直方圖的顯示方式是左暗又亮,左邊用于描述圖像的暗度,右邊用于描述圖像的亮度。文章來源地址http://www.zghlxwxcb.cn/news/detail-817865.html

到了這里,關(guān)于彩色圖像處理之彩色圖像直方圖處理的python實(shí)現(xiàn)——數(shù)字圖像處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • (數(shù)字圖像處理MATLAB+Python)第五章圖像增強(qiáng)-第二節(jié):基于直方圖修正的圖像增強(qiáng)

    (數(shù)字圖像處理MATLAB+Python)第五章圖像增強(qiáng)-第二節(jié):基于直方圖修正的圖像增強(qiáng)

    基于直方圖修正的圖像增強(qiáng) :是一種常見的圖像處理方法。該方法通過對(duì)圖像的像素值分布進(jìn)行調(diào)整,以改善圖像的對(duì)比度和亮度等視覺效果。具體地,直方圖校正方法將圖像的像素值轉(zhuǎn)換為一個(gè)新的值域范圍,使得像素值的分布更加均勻,從而增強(qiáng)圖像的細(xì)節(jié)和對(duì)比度。這

    2023年04月19日
    瀏覽(116)
  • Python遙感圖像處理應(yīng)用篇036:GDAL+Scikit-image計(jì)算遙感圖像梯度直方圖HOG

    方向梯度直方圖HOG(Histogram of Oriented Gradient, HOG)特征是一種在計(jì)算機(jī)視覺和圖像處理中用來進(jìn)行物體檢測(cè)的特征描述子。它通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來構(gòu)成特征。Hog特征結(jié)合SVM分類器已經(jīng)被廣泛應(yīng)用于圖像識(shí)別中,尤其在行人檢測(cè)中獲得了極大的成功

    2024年02月11日
    瀏覽(29)
  • 【數(shù)字圖像處理】直方圖均衡化

    【數(shù)字圖像處理】直方圖均衡化

    直方圖均衡化是一種常見的圖像增強(qiáng)方法,可以增強(qiáng)圖像的對(duì)比度。其數(shù)學(xué)原理如下: 首先,我們需要了解直方圖的概念。直方圖是對(duì)圖像像素分布的一種統(tǒng)計(jì),它將每個(gè)像素值出現(xiàn)的次數(shù)記錄下來,并以圖形的方式呈現(xiàn)出來。在一幅圖像中,像素值的范圍通常是有限的。例

    2023年04月13日
    瀏覽(21)
  • 【MATLAB圖像處理】直方圖均衡化

    【MATLAB圖像處理】直方圖均衡化

    直方圖均衡化有以下幾個(gè)好處: 增強(qiáng)圖像對(duì)比度:直方圖均衡化可以通過重新分配像素值來增強(qiáng)圖像的對(duì)比度。這可以使得圖像中的細(xì)節(jié)更加清晰可見,從而提高圖像的質(zhì)量和可讀性。 均衡化圖像亮度:直方圖均衡化可以將圖像的亮度均衡化,使得圖像的整體亮度更加均勻

    2024年02月08日
    瀏覽(27)
  • 【matlab圖像處理】圖像直方圖操作和matlab畫圖

    【matlab圖像處理】圖像直方圖操作和matlab畫圖

    中國(guó)史之【平王東遷】: 公元前771年,因鎬京曾遭地震,殘破不堪,又接近戎、狄等外患威脅,周平王遂在鄭、秦、晉等諸侯的護(hù)衛(wèi)下,將國(guó)都東遷至洛邑,東周歷史由此開始。 ——來源:全歷史APP 【路漫漫其修遠(yuǎn)兮,吾將上下而求索】 今天介紹圖像的直方圖操作以及用

    2024年02月04日
    瀏覽(22)
  • 我在Vscode學(xué)OpenCV 圖像處理五(直方圖處理)

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

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

    2024年01月21日
    瀏覽(26)
  • FPGA圖像處理仿真實(shí)驗(yàn)——直方圖均衡化

    FPGA圖像處理仿真實(shí)驗(yàn)——直方圖均衡化

    直方圖均衡化實(shí)驗(yàn),主要包括三部分,直方圖統(tǒng)計(jì)、計(jì)算累加直方圖、均衡化。 1、直方圖統(tǒng)計(jì) ? ? ? ?直方圖統(tǒng)計(jì)就是記錄每個(gè)灰度值在圖片中出現(xiàn)的像素次數(shù),灰度圖片有0-255個(gè)灰度級(jí),如果我們定義256個(gè)寄存器來存儲(chǔ)數(shù)據(jù)比較麻煩,所以借用RAM來實(shí)現(xiàn)直方圖統(tǒng)計(jì)。當(dāng)輸入

    2024年02月07日
    瀏覽(98)
  • 數(shù)字圖像處理實(shí)驗(yàn)(直方圖均衡化&規(guī)定化)

    數(shù)字圖像處理實(shí)驗(yàn)(直方圖均衡化&規(guī)定化)

    圖像均衡化 ? 圖像均衡化是一種圖像處理技術(shù),它的目的是改善圖像的對(duì)比度。 ? 具體來說,對(duì)于一張圖像,其直方圖就是統(tǒng)計(jì)圖像中各灰度級(jí)出現(xiàn)的次數(shù)的圖像。通常情況下,圖像的直方圖會(huì)呈現(xiàn)不平衡的狀態(tài),即圖像的某些灰度級(jí)出現(xiàn)的次數(shù)很多,而其它灰度級(jí)出現(xiàn)的

    2024年02月04日
    瀏覽(26)
  • 【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

    【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

    目錄 直方圖處理技術(shù)概述 直方圖均衡化 公式推導(dǎo)? Matlab代碼實(shí)現(xiàn) 圖像的規(guī)定化 數(shù)學(xué)推導(dǎo) 單映射 Matlab代碼 效果展示?編輯 ?組映射 Matlab代碼 灰度級(jí)范圍[0,L-1]的數(shù)字圖像,在實(shí)際使用中,用哥灰度級(jí)的像素總數(shù)除以MN的整幅圖像的像素?cái)?shù)量,歸一化到規(guī)律中進(jìn)行計(jì)算,這樣

    2023年04月26日
    瀏覽(22)
  • C#使用OpenCv(OpenCVSharp)圖像直方圖均衡化處理實(shí)例

    本文實(shí)例演示C#語(yǔ)言中如何使用OpenCv(OpenCVSharp)對(duì)圖像進(jìn)行直方圖均衡化處理。 直方圖均衡化原理 直方圖均衡化(Histogram Equalization)是一種常用的圖像增強(qiáng)技術(shù),用于改善圖像的對(duì)比度和亮度分布。它通過重新分配圖像灰度級(jí)的像素值,使得圖像的直方圖在灰度范圍內(nèi)更加

    2024年02月07日
    瀏覽(75)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包