首页
/
每日頭條
/
生活
/
圖像處理算法如何入門
圖像處理算法如何入門
更新时间:2026-03-14 09:14:32

什麼是直方圖呢?通過直方圖你可以對整幅圖像的灰度分布有一個整體的感覺了解。直方圖的 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
推荐阅读
大型床罩與被套洗滌方法
大型床罩與被套洗滌方法
大型床罩與被套洗滌方法:如果并不肯定床罩與被套可用洗衣機洗,最好的方法是幹洗,以免縮水。但必須先行過水及脫水,這樣便能清除大部分塵垢。清洗後,保持微濕,待晾幹後,便可恢複原狀。
2026-03-14
日常床墊保養好 優質睡眠不打折
日常床墊保養好 優質睡眠不打折
睡眠是人健康的保證,而睡眠質量的好壞直接體現出身體的好壞,對此很多家庭不惜耗費大量資金選購很好的床墊、床單等床具,希望得到一個優質的睡眠環境,提高睡眠質量。但是花了大價錢購買來的床墊卻不經常打理,這樣的方式不但不會得到優質的睡眠還會對睡眠質量産生負面影響。下面就和小編一起來看看日常床墊保養的方法吧。...
2026-03-14
新媒體運營是做什麼?
新媒體運營是做什麼?
新媒體運營,是通過現代化移動互聯網手段,通過利用各短視頻平台及内容平台進行産品宣傳、推廣、産品營銷的一系列手段。通過策劃品牌相關的優質、高度傳播性的内容和線上活動,向客戶廣泛或者精準推送消息,提高參與度、知名度,從而充分利用粉絲經濟,達到相應營銷目的。不管是創業做個人自媒體還是到企業内就職,新媒體運...
2026-03-14
三伏天用什麼排濕氣寒氣最好?
三伏天用什麼排濕氣寒氣最好?
01伏天去濕氣寒氣的辦法:1、少吃甜、膩的食物。如果你身體有濕氣少吃甜膩食物,因為甜膩容易轉化為濕氣。2、别吃生冷食物。3、别喝酒。4、可以多吃姜去寒濕。5、可以多吃綠豆、西瓜、扁豆來去濕寒氣。三伏天是一年中最熱的時候,這段時間也是冬病夏治的好時候,非常适合排除體内的寒濕,伏天去濕氣寒氣的辦法:1、...
2026-03-14
漲潮退潮時間是怎樣的?
漲潮退潮時間是怎樣的?
如果是規則的半日潮,漲潮、落潮的時間是每12個小時為一個周期潮水進行漲退。可運用公式:最高潮時間=農曆*0.8,算出最高潮時間,再用公式:最低潮時間=最高潮時間+/-6,比如農曆十五或三十,漲潮時間就是12點和零點,落潮時間就是早晚的6點。由于海水的漲潮退潮是受到月球引力影響而産生的一種地理現象,因...
2026-03-14
Copyright 2023-2026 - www.tftnews.com All Rights Reserved