首页
/
每日頭條
/
生活
/
圖像處理算法如何入門
圖像處理算法如何入門
更新时间:2026-07-24 18:51:37

什麼是直方圖呢?通過直方圖你可以對整幅圖像的灰度分布有一個整體的感覺了解。直方圖的 x 軸是灰度值(0 到 255),y軸是圖片中具有同一個灰度值的 點的數目。可以通過下面的圖像感受一下

圖像處理算法如何入門(從零學AI之圖像算法10)1

直方圖是處理當中非常常用的一種手段,opencv也有現成的方法,cv2.calcHist

用法:cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])

def show_hist(cv2_img): """ 顯示直方圖 """ color = ('b','g','r') for i,col in enumerate(color): histr = cv2.calcHist([cv2_img],[i],None,[256],[0,256]) plt.plot(histr,color = col) plt.legend() plt.xlim([0,256]) plt.xticks([]), plt.yticks([]) plt.show()

通過直方圖我們可以觀察該直方圖了解需要如何調整亮度分布。下面的圖藍色分量在200 ~ 250較高,應該就是天空的顔色,因為對應亮度最大。

圖像處理算法如何入門(從零學AI之圖像算法10)2

我們可以通過前幾章分享的知識,對應主題進行分離,看看亮度在3維空間的分布情況。

首先,我們需要獲得二值圖像:

我們先用默認值進行二值圖效果:

gray = cv2.cvtColor(cv2_img, cv2.COLOR_BGR2GRAY) blur = cv2.blur(gray, (10, 10)) k=np.ones((10, 10),np.uint8) _, th = cv2.threshold(blur, 127, 255, cv2.THRESH_OTSU)

原圖:

圖像處理算法如何入門(從零學AI之圖像算法10)3

mask:

圖像處理算法如何入門(從零學AI之圖像算法10)4

通過邏輯運算獲得圖像:

圖像處理算法如何入門(從零學AI之圖像算法10)5

img = cv2.bitwise_and(cv2_img, cv2_img, mask=~open)

分離顔色通道, 獲得像素值:

這裡采用切片來處理:

img_b = cv2_img[:, :, 0].astype(np.int16)

img_g = cv2_img[:, :, 1].astype(np.int16)

img_r = cv2_img[:, :, 2].astype(np.int16)

三維空間顯示

圖像處理算法如何入門(從零學AI之圖像算法10)6

圖像處理算法如何入門(從零學AI之圖像算法10)7

我們可以看到顔色較深的橙色部分就是主題。再來看一個例子:

圖像處理算法如何入門(從零學AI之圖像算法10)8

圖像處理算法如何入門(從零學AI之圖像算法10)9

圖像處理算法如何入門(從零學AI之圖像算法10)10

通過這幾個例子,關于亮度的影響就很深刻了,這對我們後面使用灰度直方圖有很大幫助。

### 顯示3D圖像 def showPiexlDist(imgArrs): fig = plt.figure() ax1 = fig.add_subplot(111, projection='3d') h, w, pimg = piexlDifvalue(imgArrs) x = np.arange(0, w, 1) y = np.arange(0, h, 1) X, Y = np.meshgrid(x, y) Z = np.zeros(Y.shape, dtype=np.uint16) for i in range(Y.shape[0]): for j in range(Y.shape[1]): Z[i][j] = img_sum[i][j] ax1.plot_surface(X, Y, Z, rstride=1, cstride=1,cmap=plt.get_cmap('rainbow')) plt.show()

好了,本次就分享到這裡。歡迎大家評論、交流和轉發。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
棉花糖幹了發硬怎麼辦
棉花糖幹了發硬怎麼辦
把變硬的棉花糖放在鍋裡進行蒸煮幾分鐘,硬棉花糖就會變軟。棉花糖指市場上一種軟性糖果,疏松多孔,具有一定的彈性和韌性,因口感和質地與棉花相似而得名。将白糖倒入棉花糖機中制出糖絲,再用棒子将糖絲纏繞起來而成,入口即溶,因糖絲跟棉花絮十分相似,故得其名。這是一種柔軟粘糯,有膠體性和微和彈性,含水分10%~20%,含還原糖20%~30%的軟性糖果。主要由蜀葵的根做成。具有一定的藥用效果。棉花糖的口味繁多,
2026-07-24
鐵鋁鍋的油垢怎麼冼
鐵鋁鍋的油垢怎麼冼
1、可以采用倒扣火燒法去油垢。打開點燃煤氣,調到最大火候,然後把鐵鍋倒扣到火焰上,燒到鐵鍋稍稍發紅後...
2026-07-24
梓軒的寓意
梓軒的寓意
梓是一種落葉喬木,有家鄉的代指,軒本意指古時候一種有圍棚或序幕的車,喻意着勢力榮華富貴,從字意上了解看來,梓軒這一姓名表明父母希望孩子能變成對社會發展對國家有使用價值有效的國之棟梁,也預兆着在未來可以日常生活富裕、興旺發達,是個非常大氣的男寶寶名字。姓名能夠反映一個人的精神面貌,一個好名字更能讓人有着一個好的氣質,因此父母們在給孩子起名字的情況下幹萬不能粗心大意疏忽。用喻意充足吉利的字,如梓字不僅
2026-07-24
牛仔外套建議多久洗一次
牛仔外套建議多久洗一次
牛仔外套可根據衣物的污漬情況進行清洗,若是已沾上明顯污漬,則建議及時清洗,避免污漬長時間停留在衣物上,深入衣物纖維,增大清潔難度。若保持得比較好沒有污漬。可以穿3次清洗一次。清洗方法:1、如果衣物上沒有頑固污漬,可以根據産品背标,将适量洗衣液溶于水中,浸泡衣物15分鐘,然後正常洗滌即可。溫馨提示:易褪色、易縮水衣物請勿浸泡,且不要大力擰絞衣物。2、如果衣物上有局部污漬,可以使用“幹衣預塗法”:衣服
2026-07-24
花甲怎麼選
花甲怎麼選
1、到對的地方去買:建議去附近大點的海鮮市場挑選。海鮮攤檔一般都會放在多個塑料框子裡的,不要在一個框...
2026-07-24
Copyright 2023-2026 - www.tftnews.com All Rights Reserved