gpt4 book ai didi

android - Opencv - FloodFill 不会改变蒙版图像

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:31 27 4
gpt4 key购买 nike

我尝试在我的 android 应用程序上使用 floodFill 算法。我点击一个点来选择种子。然后我运行 floodfill 算法。我想显示与种子颜色相同的选定区域。为此,我显示 mask 垫对象。但它每次都是黑色的,它不会改变。我使用了 FLOODFILL_FIXED_RANGEFLOODFILL_MASK_ONLY 标志。

我的代码在这里:

Imgproc.cvtColor(mRgba, temp, Imgproc.COLOR_RGBA2RGB);
Imgproc.cvtColor(temp, temp, Imgproc.COLOR_RGB2GRAY);
mMask = Mat.zeros(mMask.size(), CvType.CV_8UC1);
Imgproc.floodFill(temp, mMask, fpts.get(fpts.size()-1), new Scalar(255, 255, 255),new Rect(new Point(0,0), new Point(5,5)),new Scalar(30), new Scalar(30), Imgproc.FLOODFILL_FIXED_RANGE);
Core.circle(temp, fpts.get(fpts.size()-1), 7, new Scalar(255, 255, 255), RADIUS);
Mat temp3 = new Mat(temp.size(), mMask.type());
temp3 = mMask.submat(new Rect( 2, 2, mMask.width()-2, mMask.height()-2)) ;

Log.i(TAG, temp3.width() + "-" + temp3.height()+"**" + temp.width()+"-"+temp.height());
// / Show me what you got from template matching
Core.rectangle(temp, matchLoc, new Point(matchLoc.x + mTemp.cols(),
matchLoc.y + mTemp.rows()), new Scalar(0, 255, 0));
return temp3;

如果我返回 temp,我可以显示更改后的输入图像。

最佳答案

您需要在 Imgproc.floodFill 标志中为掩码设置新值。要将蒙版更改为白色 (255):

int flags = 4 + (255 << 8) + Imgproc.FLOODFILL_FIXED_RANGE;

关于android - Opencv - FloodFill 不会改变蒙版图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29275407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com