次は、OpenCV4Android
を使用してAndroidアプリで検出された青色の斑点の画像です。私はそれらを描画する輪郭を見つけるために、Core.inRange()
とImgproc.findContours()
方法を使用し、Imgproc.drawContours()
:OpenCVを使用して、検出された形状/ブロブのエッジの内側に輪郭を描く方法は?
Mat mask = new Mat();
Core.inRange(rgbaMat, lowerThreshold, upperThreshold, mask);
...
contours = new ArrayList<>();
Imgproc.findContours(dilatedMat, contours, new Mat(), Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE);
...
for (int contourIdx=0; contourIdx < contours.size(); contourIdx++) {
Imgproc.drawContours (rgbaMat, contours, contourIdx, new Scalar(0, 255, 0), 1);
}
輪郭(ライトグリーン境界)が検出された形状の外側にあります。
ご覧のように、検出された青い斑点の周りには白い部分も含まれています。私は輪郭の境界線が青い斑点/輪郭の内側にあるようにしたい。
どうすればいいですか?私はあなたが変数 "dilatedMat"(ライン#5)の "findContours" を適用し、あなたのコード内で見ることができます