我已经实现了ImageView中FloodFill算法的实现。但我无法在相机(Android 的表面视图)上实现它。我正在使用 OpenCV 库来做这件事。我已经使用轮廓概念尝试了以下代码。但我没有得到确切的结果。
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
mRgba = inputFrame.rgba();
if (mIsColorSelected) {
mDetector.process(mRgba);
List<MatOfPoint> contours = mDetector.getContours();
Log.e(TAG, "Contours count: " + contours.size());
for (int contourIdx = 0; contourIdx < contours.size(); contourIdx++) {
Imgproc.drawContours(mRgba, contours, contourIdx, new Scalar(0,
0, 100, 10), -1);
}
Mat colorLabel = mRgba.submat(4, 68, 4, 68);
colorLabel.setTo(mBlobColorRgba);
Mat spectrumLabel = mRgba.submat(4, 4 + mSpectrum.rows(), 70,
70 + mSpectrum.cols());
mSpectrum.copyTo(spectrumLabel);
}
return mRgba;
}
任何人都知道如何做到这一点。提前致谢。