OpenCV on Android 開發筆記:利用 Contour (輪廓) 取得 Moments 並找出質心

在找質心之前,首先必須先找到目標物的 Contour (輪廓)! "輪廓" 是個非常方便的東西,這個我們之後會在別的章節介紹。

再找到 Contour 後,Contour 會存為一個類別為 MatOfPoint 的物件,而此時就可以利用 Imgproc 中的一個 static 函式: moments 來幫我們找出該 Contour 的 moments。
Moments momemts = Imgproc.moments(contour, false);
其中的 false 筆者並不知道是甚麼意思,只是網路上有人這麼用自己就跟著這麼用了。
(對於 Moments 這個東西,筆者並不太熟,只知道如何應用 OpenCV 中的函式來取得 Moments,並利用他找出質心,而至於為甚麼可以利用 Moments 找出質心,就要請有心想要知道的讀者問問已經知到的讀者,或是自己上網找找看囉!也歡迎各位學會的讀者可以教教我,互相指導。)
Imgproc 中的 moments 函式可以幫我們找出並取得該 Contour 的 Moments 物件,而在 Moments 中存放著一些成員變數(屬性),而在求質心的過程中,需要使用的屬性就是以下:
momemts.m00
momemts.m01
momemts.m10
 此處之應用為:

若想得知質心的X座標: m10 / m00
若想得知質心的Y座標: m01 / m00
Point center = new Point(moments.m10 / moments.m00, moments.m01 / moments.m00);
感謝各位讀者!

留言

這個網誌中的熱門文章

MySQL 筆記:Join 合併表格,使用方式

Android 筆記:在Android Studio上製作分頁效果(FragmentTabHost 使用方法)

Debian, Parallels desktop 筆記:如何建立自己的 Shared Folder / Debian and PD(Parallels Desktop) notes: How to create your own shared folder in the Linux VM in Parallels Desktop