首頁>Club>
6
回覆列表
  • 1 # 用戶7411191690278

    沒有確切的口訣標準,但可以用以下方式來記憶直方圖法的4種類型:
    1. 高低比較,從左往右,
    比較高低,找極值。
    山峰、山谷,都要記,
    主次辨別,得出結論。
    2. 上升或下降,有趨勢,
    增減趨勢,需留心。
    是否平穩,可推考,
    趨勢有助,觀察深。
    3. 分布集中,中間高,
    兩邊低,形態識。
    是否對稱,頂尖點,
    左右相同,為合格。
    4. 左右偏斜,中線移,
    兩邊拉長,效應大。
    偏斜的方向,研判中,
    有目的學,得心幫。

  • 2 # 用戶5435842789945

    直方圖口訣

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

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

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

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

    直方圖判斷曝光

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

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

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

    山峰靠右亮區大,山峰靠左暗影多;

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

    (1) 什麼是直方圖

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

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

    (2)尋找直方圖

    幾個術語

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

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

    OpenCV中的直方圖計算

    使用cv2.calcHist(查找直方圖):

    cv.calcHist(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 = cv.calcHist([img],[0],None,[256],[0,256])

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

    (3) 繪製直方圖

    Matplotlib繪製直方圖

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

    import cv2 as cv import matplotlib.pyplot as plt img = cv.imread('messi.png',0) plt.subplot(1,2,1);plt.imshow(img) plt.subplot(1,2,2);plt.hist(img.ravel(),256,[0,256]) plt.show()

    b.繪製RGB圖的直方圖

    import cv2 as cv import matplotlib.pyplot as plt img = cv.imread('apple.png') #BGR img1=img.copy() img1[:,:,2],img1[:,:,0] =img[:,:,0],img[:,:,2] #BGR->RGB plt.subplot(1,2,1);plt.imshow(img1) color=('b','g','r') plt.subplot(1,2,2) for i,col in enumerate(color): hist=cv.calcHist([img],[i],None,[256],[0,256]) #找到第i個通道的直方圖數據 plt.plot(hist,color=col) plt.xlim([0,256]) plt.show()

  • 中秋節和大豐收的關聯?
  • 大棚玉米怎麼種植?