首页
/
每日頭條
/
生活
/
圖像處理算法如何入門
圖像處理算法如何入門
更新时间:2026-01-28 20:37:46

什麼是直方圖呢?通過直方圖你可以對整幅圖像的灰度分布有一個整體的感覺了解。直方圖的 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
推荐阅读
适合家用的打印機品牌排行榜 打印機分為幾種類型
适合家用的打印機品牌排行榜 打印機分為幾種類型
現在很多家庭都會購買打印機使用,這樣不僅自己方便打印文件,給孩子打印學習資料也很便利。市場上的打印機種類衆多,不是每一種都适合在家中使用,還是要進行仔細的選擇。下面就跟随小編來看下*适合家用的打印機品牌排行榜,打印機分為幾種類型?一、适合家用的打印機品牌排行榜1、佳能打印機佳能這個品牌在市場上的知名...
2026-01-28
4開紙多大?
4開紙多大?
4開紙的尺寸是:正度389毫米乘以546毫米,大度444毫米乘以597毫米。版面的大小稱為開本,開本以全張紙為計算單位,每全張紙裁切和折疊多少小張就稱多少開本。全張紙對折後的大小為對開,再對折為4開。我國習慣上對開本的命名是以幾何級數來命名的,全張紙對折後的大小為對開,再對折為4開。接下來再對折為8...
2026-01-28
新衣服第一次要怎麼洗不褪色
新衣服第一次要怎麼洗不褪色
可以使用白醋或者食鹽将新衣服浸泡1-2次,每次浸泡30分鐘左右,這樣不僅可以防止衣服在以後的穿着中褪色,還可以起到消毒殺菌、祛除異味的作用,使穿着更安全。為了減緩衣服褪色,延長其壽命,晾曬衣服的時候還可以反過來,避免衣服的正面被陽光暴曬。如果是牛仔褲,建議放的食鹽多一些,浸泡的時候長一些,且把褲子反...
2026-01-28
活雞殺了放冰箱冷藏可以嗎
活雞殺了放冰箱冷藏可以嗎
活雞殺了可以放冰箱冷藏。剛殺好的雞,清洗好剁成塊後放入冰箱冷藏層保存,能起到保鮮的作用。如果想長時間保存雞肉,可以放進冰箱冷凍層保存。建議剛殺好的雞在短時間内吃完,這時的肉質較為新鮮,口感較好。雞也可以用鹽漬的保存方法,在雞的表面和内部擦抹适量的食鹽和白酒,腌制半天後進行晾幹,有消毒殺菌淨味的效果。...
2026-01-28
香蕉怎麼保存時間長
香蕉怎麼保存時間長
可以用一根繩子綁住香蕉的根部并懸挂起來,這樣可以減少香蕉的受壓面積,便可以讓香蕉保存較長時間,也可以用舊報紙将香蕉包裹起來,放在陰涼、通風的地方,這樣也可以保存較長時間。還可以用保鮮膜将香蕉的根莖緊緊纏住,這樣可以延緩香蕉爛掉的速度。香蕉比較适宜的保存溫度是8-23℃,最好不要将香蕉放在溫度過高或過...
2026-01-28
Copyright 2023-2026 - www.tftnews.com All Rights Reserved