问题标签 [opencv4android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3027 浏览

opencv - 去除opencv中的背景,让文字更清晰

我正在尝试创建一个可以从图像中读取文本的应用程序。但我在清除背景时遇到问题。我想要这样的结果:

输入图像 1:在此处输入图像描述

输出图像 1:在此处输入图像描述

这是我尝试过的代码:

0 投票
1 回答
1112 浏览

android - 在perspectiveWarp/warpPerspective 之后Android-Android OpenCV 得到空白(黑色)图像?

我正在使用 Android+OpenCv+JNI 来找出图像中最大的轮廓,然后使用透视变换裁剪最大的轮廓。我的问题是应用转换后我无法将结果 Mat 转换为 Bitmap 并返回错误

OpenCV 错误:断言失败 (src.type() == CV_8UC1 || src.type() == CV_8UC3 || src.type() == CV_8UC4) 在 void Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv*, jclass, jlong​​, jobject, jboolean) ,文件/home/reports/ci/slave_desktop/50-SDK/opencv/modules/java/generator/src/cpp/utils.cpp,第98行

这是我的 JNI 代码:

JNIEXPORT jint JNICALL Java_org_opencv_samples_tutorial3_Sample3Native_FindSquares(

}

在我的 java 代码中,我将此函数称为

找到 = FindSquares(mRgba.getNativeObjAddr(), mDraw, descriptor.getNativeObjAddr());

最后我试图将最终的 Mat 转换为 Bitmap

final_mat 通道类型变为 CV_32FC1。如何将通道类型转换为 CV_8UC4 请帮我找出解决方案。

编辑:我已将 finat_mat 图像更改为 CV_8UC3

但是结果我得到了空白(黑色)图像?

0 投票
1 回答
646 浏览

android - OpenCV4Android - 查找/drawContour 错误

我正在尝试做的是获取阈值图像并对其执行 findContours 然后将其绘制为旋转校正图像。旋转校正图像和阈值图像按预期工作,所以我有点不知道为什么会崩溃。Thersholded 图像是已应用二进制阈值的旋转校正图像的灰度版本。

错误:

之后出现 JDI 调度错误。

0 投票
1 回答
1524 浏览

opencv - 如何在 OpenCV 中使用夜视摄像机输入(帧)?

我正在开发一个应用程序,它使用夜视摄像头识别面部特征,即使在低光照条件下也是如此。我的应用程序是在晚上工作的,我在白天使用相机没有问题,为了让它在弱光下工作我想使用夜视相机(请向我推荐任何使用 OpenCV 进行处理的好的夜视相机)。或者有什么方法可以在弱光下获得更好质量的图像,即使是普通相机也是如此。

0 投票
2 回答
1398 浏览

opencv - 如何在 opencv c++/opencv java 中使用 Fred 的 imagemagick textcleaner 脚本?

我正在尝试开发一个可以从图像中读取文本的应用程序。我必须清理图像的背景。听说fred的imagemagick textcleaner脚本可以用,但不知道怎么用。有人对此有任何想法吗?

输入图像:

在此处输入图像描述

0 投票
1 回答
1058 浏览

android - Android+android-ndk-r10d+OpenCV-2.4.10 构建错误

我正在使用 Android+NDK+OpenCV。

我不断收到以下构建错误

我的 Application.mk 文件是:

我的 Android.mk 文件是:

0 投票
1 回答
146 浏览

java - 为什么以及如何应用阈值来获得更好的匹配特征

在下面的代码中,我正在使用 BRUTFORCE 算法进行描述符匹配。我阅读了一些教程,但它们是用 C++ 编写的,我发现,总是在匹配过程之后,生成的 MatOfDMatch 对象来自

应转换为 DMatch 对象如下

并且 dMtchList 应该按升序排序,然后应用阈值处理,然后将 dMtchList 对象转换为 MatOfDMatch。

我的问题是,为什么我们需要应用阈值,因为我可以对从 .match(..,..,..) 方法返回的原始匹配进行升序排序,以及阈值如何增强匹配。

**代码*:

0 投票
1 回答
99 浏览

android - 如何将opencv项目导入android

所以,我在这里有点困惑。我有一个 opencv 项目,它导入图像并对其进行处理并提供输出。所以我想将此项目用作我的 android 项目中的一部分。那么我该如何进行。我已经安装了 SDK、NDK openCV lib。任何帮助都会很棒。

0 投票
1 回答
2860 浏览

android - 在 Android 的 OpenCV 上使用 onCameraFrame 捕获高分辨率帧?

我正在尝试使用适用于 Android 的 OpenCV 2.4.10 从一对 Google Glass 中的相机捕获高分辨率帧 (1280x720)。我已经CameraBridgeViewBase.CvCameraViewListener2在我的 Activity 中实现了,并尝试在onCameraFrame方法中抓取框架。到目前为止一切正常,我得到了一个 512x288 Mat 对象。

我的问题是 512x288 分辨率不足以满足我的需要。因此,我尝试以与 OpenCV 后面的示例 3 中相同的方式设置我的项目:http: //goo.gl/iDyqQj。问题是它只适用于低于 512x288 的分辨率,只要我将分辨率提高到这个水平以上,它就会默认恢复为 512x288(没有任何通知)。

我发现了一些建议, http: //goo.gl/X2wtM4,OpenCV将帧大小限制为屏幕分辨率的最大值。但谷歌眼镜的屏幕应该有 640x360 的分辨率?我尝试按照答案中的描述进行操作,但是当我覆盖calculateCameraFrameSize并返回大于 512x288 的 Size-object 时,我得到了一个扭曲的框架(但尺寸更大,见下文)。

扭曲的图像

有人对如何使用 OpenCV 在 Google Glass 上捕获更高的分辨率有任何建议吗?

0 投票
2 回答
1310 浏览

android - 比较.yml文件OpenCV中的图像SIFT / SURF细节?

我是 java android 开发人员,我对 C/C++ 或 Matlab 函数不太了解。在我的代码中做的简单的事情就是创建 sift/Surf 图像详细信息并将详细信息保存在 .yml 文件中。

这是我如何创建筛选的代码

将生成的描述符保存在( .yml )文件中,然后使用 OpenCV 的 FlannBasedMatcher 比较该 yml 文件

这是我的代码

描述符 1 和描述符 2 是从 .yml 文件创建的两个 mat 对象。

问题出在上面的代码中,每次我得到不同的结果。e

这是我的两张图片

描述符1

描述符2

我假设基于正面结果和负面结果的图像更模糊或不同。但是每次都有这种不同的结果,我无法判断图像是否相似。

请帮助我,我不了解 Opencv 和 c,所以如果有人有任何想法,请建议更正的代码。谢谢。