顏色矩原理及Python實現

來源:互聯網
上載者:User

標籤:average   其他   它的   xtend   16px   數學   data   eval   blog   

原理 

  顏色矩(color moments)是由Stricker 和Orengo所提出的一種非常簡單而有效顏色特徵。這種方法的數學基礎在於映像中任何的顏色分布均可以用它的矩來表示。此外,由於顏色分布資訊主要集中在低階矩中,因此僅採用顏色的一階矩(mean)、二階矩(variance)和三階矩(skewness)就足以表達映像的顏色分布。與顏色長條圖相比,該方法的另一個好處在於無需對特徵進行向量化。因此,映像的顏色矩一共只需要9個分量(3個顏色分量,每個分量上3個低階矩),與其他的顏色特徵相比是非常簡潔的。在實際應用中,為避免低次矩較弱的分辨能力,顏色矩常和其它特徵結合使用,而且一般在使用其它特徵前,起到過濾縮小範圍(narrow down)的作用。

 

註:

圖中, N 表示圖片中的總的像素數,pij表示第i個色彩通道在第j個映像像素值,Ei表示第i個色彩通道上所有像素的均值,σi表示第i個色彩通道上所有像素的標準差,si表示第i個色彩通道上所有像素的斜度(skewness)的3次方根。

Python 實現
import cv2import numpy as np# Compute low order moments(1,2,3)def color_moments(filename):    img = cv2.imread(filename)    if img is None:        return    # Convert BGR to HSV colorspace    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)    # Split the channels - h,s,v    h, s, v = cv2.split(hsv)    # Initialize the color feature    color_feature = []    # N = h.shape[0] * h.shape[1]    # The first central moment - average     h_mean = np.mean(h)  # np.sum(h)/float(N)    s_mean = np.mean(s)  # np.sum(s)/float(N)    v_mean = np.mean(v)  # np.sum(v)/float(N)    color_feature.extend([h_mean, s_mean, v_mean])    # The second central moment - standard deviation    h_std = np.std(h)  # np.sqrt(np.mean(abs(h - h.mean())**2))    s_std = np.std(s)  # np.sqrt(np.mean(abs(s - s.mean())**2))    v_std = np.std(v)  # np.sqrt(np.mean(abs(v - v.mean())**2))    color_feature.extend([h_std, s_std, v_std])    # The third central moment - the third root of the skewness    h_skewness = np.mean(abs(h - h.mean())**3)    s_skewness = np.mean(abs(s - s.mean())**3)    v_skewness = np.mean(abs(v - v.mean())**3)    h_thirdMoment = h_skewness**(1./3)    s_thirdMoment = s_skewness**(1./3)    v_thirdMoment = v_skewness**(1./3)    color_feature.extend([h_thirdMoment, s_thirdMoment, v_thirdMoment])    return color_feature

參考資料

1、顏色特徵的提取(轉) http://blog.sina.com.cn/s/blog_66f17a900100w1iy.html

2、顏色矩 http://www.xuebuyuan.com/2199860.html

3、M. Stricker and M. Orengo, Similarity of Color Images, in Proc. SPIE Storage and Retrieval for Image and Video Databases, 1995.

顏色矩原理及Python實現

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.