Python影像處理(9):Hu矩,python影像處理hu

來源:互聯網
上載者:User

Python影像處理(9):Hu矩,python影像處理hu

快樂蝦

http://blog.csdn.net/lights_joy/

歡迎轉載,但請保留作者資訊


幾何矩是由Hu在1962年提出的,具有平移、旋轉和尺度不變性。opencv中關於矩的計算是由C++中的Moments這個類來完成的:


//! raster image momentsclass CV_EXPORTS_W_MAP Moments{public:    //! the default constructor    Moments();    //! the full constructor    Moments(double m00, double m10, double m01, double m20, double m11,            double m02, double m30, double m21, double m12, double m03 );    //! the conversion from CvMoments    Moments( const CvMoments& moments );    //! the conversion to CvMoments    operator CvMoments() const;    //! spatial moments    CV_PROP_RW double  m00, m10, m01, m20, m11, m02, m30, m21, m12, m03;    //! central moments    CV_PROP_RW double  mu20, mu11, mu02, mu30, mu21, mu12, mu03;    //! central normalized moments    CV_PROP_RW double  nu20, nu11, nu02, nu30, nu21, nu12, nu03;};

可以明顯地看到它主要包括空間矩,中心矩和中心歸一化矩。

一直不太相信幾何矩對於植物葉片識別能夠起到多大作用,尤其對於遮擋的葉片。不過剛好學習到這裡,就試試在Python下計算Hu矩。

採用的圖片是這前分割出來的彩色映像:



我們已經得到了它們的二值映像:


我們就以這兩張二值映像做為求矩的輸入映像。


# -*- coding: utf-8 -*- import cv2import numpy as np#import matplotlib.pyplot as pltdir = 'F:\\projects\\src\\opencv\\images\\cotton\\';# Hu不變矩# 讀取棉花映像cotton = cv2.imread(dir + '39.mask.jpg')cotton = cotton[:,:,0]  # 這是二值映像,僅取第一個通道cv2.imshow('cotton', cotton)# 讀取雜草映像weed = cv2.imread(dir + '47.mask.jpg')weed = weed[:,:,0]  # 這是二值映像,僅取第一個通道cv2.imshow('weed', weed)# 計算棉花的矩和Hu矩moments = cv2.moments(cotton)hu_moments = cv2.HuMoments(moments)print('cotton moments:')print(hu_moments)# 計算雜草的矩和Hu矩moments = cv2.moments(weed)hu_moments = cv2.HuMoments(moments)print('weed moments:')print(hu_moments)cv2.waitKey()

得到計算結果:



僅兩張圖片其實說明不了什麼問題,只不過通過上面的代碼展示一下用Python計算Hu矩的方式,僅此而已。











聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.