2012-09-12 95 views
1

我想將使用Imgproc.findContours找到的MatOfPoint轉換爲(二進制)Mat。我知道有一種方法可以進行反向轉換(只需使用構造函數MatOfPoint(Mat m)),但有沒有內置的方法來執行此轉換?如果不是,那麼轉換元素的正確方法是什麼?謝謝!OpenCV Android - 將MatOfPoint轉換爲Mat

回答

7

您不需要任何轉換器。 MatOfPoint是墊的一個子類:

從OpenCV的源:

public class MatOfPoint extends Mat 
+0

它不應該,但使用matToBitmap當我得到這個錯誤:'Utils.matToBitmap()拋出一個異常:.. \ .. \模塊\ java \ generator \ src \ cpp \ utils.cpp:106:錯誤:(-215)src.type()== CV_8UC1 || src.type()== CV_8UC3 || src.type()== CV_8UC4 in function void Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv *,_jclass *,jlong​​,_jobject *,jboolean)' –

+2

我想你需要一個'Imgproc.drawContours()'方法來顯示輪廓。 「MatOfPoint」的基本結構是2通道整數向量(可以認爲是具有整數座標的2D點列表)。結果'Utils.matToBitmap()'拒絕'MatOfPoint',因爲它需要每個通道8位圖像。 –

+0

謝謝,這有效! –