我有一個問題,把我的凸面缺陷放在框架上。爲了計算這些,我修改了C++源代碼,這就是我存檔:OpenCV Java凸面缺陷(計算機視覺)
mConvexityDefectsMatOfInt4 = new MatOfInt4();
if(contours.size() > 0 && convexHullMatOfInt.rows() > 0)
Imgproc.convexityDefects(contours.get(0), convexHullMatOfInt, mConvexityDefectsMatOfInt4);
然而,Imgproc.drawContours(...)方法需要傳遞給它的參數convexityDefects將ArrayList的。我不知道如何進行轉換。我還與凸包類似的問題,但是我發現一個外觀圖釋:
convexHullMatOfInt = new MatOfInt();
convexHullPointArrayList = new ArrayList<Point>();
convexHullMatOfPoint = new MatOfPoint();
convexHullMatOfPointArrayList = new ArrayList<MatOfPoint>();
//Calculate convex hulls
if(contours.size() > 0)
{
Imgproc.convexHull(contours.get(0), convexHullMatOfInt, false);
for(int j=0; j < convexHullMatOfInt.toList().size(); j++)
convexHullPointArrayList.add(contours.get(0).toList().get(convexHullMatOfInt.toList().get(j)));
convexHullMatOfPoint.fromList(convexHullPointArrayList);
convexHullMatOfPointArrayList.add(convexHullMatOfPoint);
}
爲凸缺陷類似的解決方案是行不通的。有沒有人有一個想法,我該如何解決這個問題?
如何將MatOfInt4()轉換爲ArrayList()以繪製凸度缺陷?