gpt4 book ai didi

android - 在屏幕截图中模糊矩形

转载 作者:行者123 更新时间:2023-12-02 15:20:37 25 4
gpt4 key购买 nike

我正在开发一个使用背景的 Android 应用程序 Service以编程方式捕获当前屏幕上的任何内容的屏幕截图。我以 Bitmap 的形式获取屏幕截图.

接下来成功导入OpenCV进入我的Android项目。

我现在需要做的是模糊这个图像的一个子集,即不是整个图像本身,而是图像中的一个[矩形]区域或子区域。我有一个 Rect 的数组代表我需要在屏幕截图中模糊的矩形区域的对象。

我一直在寻找有关在 Java 中使用 OpenCV 执行此操作的教程,但我还没有找到明确的答案。 Mat Imgproc 类显然是感兴趣的,还有 Mat.submat() 方法,但我一直无法找到一个清晰、直接的教程来完成这项工作。

我用谷歌搜索了很多,我发现的例子都不完整。我需要在 Java 中,在 Android 运行时中执行此操作。

What I need is: Bitmap >>> Mat >>> Imgproc>>> Rect >>> Bitmap with ROI blurred.



这里有任何经验丰富的 OpenCV 开发人员,你能指出我正确的方向吗?这是我唯一坚持的事情。

相关 :

Gaussian blurring with OpenCV: only blurring a subregion of an image? .

How to blur a rectagle with OpenCv .

How to blur some portion of Image in Android? .

最佳答案

实现此任务的 C++ 代码在下面与注释和示例图像共享:

// load an input image
Mat img = imread("C:\\elon_tusk.png");

图片 :

enter image description here
// extract subimage
Rect roi(113, 87, 100, 50);
Mat subimg = img(roi);

子图像 :

enter image description here
// blur the subimage
Mat blurred_subimage;
GaussianBlur(subimg, blurred_subimage, Size(0, 0), 5, 5);

blurred_subimage :

enter image description here
// copy the blurred subimage back to the original image
blurred_subimage.copyTo(img(roi));

图片 :

enter image description here

安卓等价物:
Mat img = Imgcodecs.imread("elon_tusk.png");
Rect roi = new Rect(113, 87, 100, 50);
Mat subimage = img.submat(roi).clone();
Imgproc.GaussianBlur(subimg, subimg, new Size(0,0), 5, 5);
subimg.copyTo(img.submat(roi));

关于android - 在屏幕截图中模糊矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59966768/

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