網站首頁 美容小常識 享受生活 東方時尚 識真假 高奢 資訊 遊戲攻略 搞笑段子
當前位置:品位站 > 享受生活 > 心理

直方圖法4種類型記憶口訣

欄目: 心理 / 發佈於: / 人氣:3.01W
直方圖法4種類型記憶口訣

直方圖口訣

左邊暗,右邊亮,越往右靠光越強

偏左偏右都不好,反差要低山中央

兩邊高,中間小,光比很大細節少

不冒頭,不斷檔,連綿起伏好風光。

直方圖判斷曝光

左邊山腳見不到,暗部沒有細節

右邊山腳見不到,亮部沒有細節

兩邊山腳見不到,明暗均有失

山峯靠右亮區大,山峯靠左暗影多

山谷如果在中央,中間影調細節少。

(1) 什麼是直方圖

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

直方圖的作用: 通過直方圖可以直觀地i奧傑圖像的對比度、亮度、強度分佈等。

(2)尋找直方圖

幾個術語

BINS:直方圖的柱的個數稱為BINS,在OpenCV中表示為histSize

RANGE:測量的強度值的範圍,一般為[0,255]

OpenCV中的直方圖計算

使用Hist(查找直方圖):

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

images:它是uint8或float32類型的源圖像。它應該放在方括號中,即“ [img]”。

channels:也以方括號給出。它是我們計算直方圖的通道的索引。例如,如果輸入為灰度圖像,則其值為[0]。對於彩色圖像,您可以傳遞[0],[1]或[2]分別計算藍色,綠色或紅色通道的直方圖。、

mask:圖像掩碼。為了找到完整圖像的直方圖,將其指定為“無”。但是,如果要查找圖像特定區域的直方圖,則必須為此創建一個掩碼圖像並將其作為掩碼。(文章後面再説)

histSize:這表示我們的BIN計數。需要放在方括號中。對於全尺寸,我們通過[256]。

ranges:這是我們的RANGE。通常為[0,256]。

#讀取灰度圖 img = cv.imread('home.jpg',0) hist = Hist([img],[0],None,[256],[0,256])

hist是256x1的數組,每個值對應於該圖像中具有相應像素值的像素數。

(3) 繪製直方圖

Matplotlib繪製直方圖

a.繪製灰度圖的直方圖使用()可以直接找到直方圖並繪製,無需使用Hist()函數

import cv2 as cv import ot as plt img = cv.imread('messi.png',0) lot(1,2,1)ow(img) lot(1,2,2)(l(),256,[0,256]) ()

b.繪製RGB圖的直方圖

import cv2 as cv import ot as plt img = cv.imread('apple.png') #BGR img1=() img1[:,:,2],img1[:,:,0] =img[:,:,0],img[:,:,2] #BGR->RGB lot(1,2,1)ow(img1) color=('b','g','r') lot(1,2,2) for i,col in enumerate(color): hist=Hist([img],[i],None,[256],[0,256]) #找到第i個通道的直方圖數據 (hist,color=col) ([0,256]) ()