我已经在ImageView中实现了FloodFill算法。但我无法在相机(Android的Surface View)上实现它。我正在使用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;
}
任何人都知道该怎么做。提前致谢。