问题标签 [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.
opencv - 去除opencv中的背景,让文字更清晰
我正在尝试创建一个可以从图像中读取文本的应用程序。但我在清除背景时遇到问题。我想要这样的结果:
输入图像 1:
输出图像 1:
这是我尝试过的代码:
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
但是结果我得到了空白(黑色)图像?
android - OpenCV4Android - 查找/drawContour 错误
我正在尝试做的是获取阈值图像并对其执行 findContours 然后将其绘制为旋转校正图像。旋转校正图像和阈值图像按预期工作,所以我有点不知道为什么会崩溃。Thersholded 图像是已应用二进制阈值的旋转校正图像的灰度版本。
错误:
之后出现 JDI 调度错误。
opencv - 如何在 OpenCV 中使用夜视摄像机输入(帧)?
我正在开发一个应用程序,它使用夜视摄像头识别面部特征,即使在低光照条件下也是如此。我的应用程序是在晚上工作的,我在白天使用相机没有问题,为了让它在弱光下工作我想使用夜视相机(请向我推荐任何使用 OpenCV 进行处理的好的夜视相机)。或者有什么方法可以在弱光下获得更好质量的图像,即使是普通相机也是如此。
opencv - 如何在 opencv c++/opencv java 中使用 Fred 的 imagemagick textcleaner 脚本?
我正在尝试开发一个可以从图像中读取文本的应用程序。我必须清理图像的背景。听说fred的imagemagick textcleaner脚本可以用,但不知道怎么用。有人对此有任何想法吗?
输入图像:
android - Android+android-ndk-r10d+OpenCV-2.4.10 构建错误
我正在使用 Android+NDK+OpenCV。
我不断收到以下构建错误
我的 Application.mk 文件是:
我的 Android.mk 文件是:
java - 为什么以及如何应用阈值来获得更好的匹配特征
在下面的代码中,我正在使用 BRUTFORCE 算法进行描述符匹配。我阅读了一些教程,但它们是用 C++ 编写的,我发现,总是在匹配过程之后,生成的 MatOfDMatch 对象来自
应转换为 DMatch 对象如下
并且 dMtchList 应该按升序排序,然后应用阈值处理,然后将 dMtchList 对象转换为 MatOfDMatch。
我的问题是,为什么我们需要应用阈值,因为我可以对从 .match(..,..,..) 方法返回的原始匹配进行升序排序,以及阈值如何增强匹配。
**代码*:
android - 如何将opencv项目导入android
所以,我在这里有点困惑。我有一个 opencv 项目,它导入图像并对其进行处理并提供输出。所以我想将此项目用作我的 android 项目中的一部分。那么我该如何进行。我已经安装了 SDK、NDK openCV lib。任何帮助都会很棒。
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 上捕获更高的分辨率有任何建议吗?
android - 比较.yml文件OpenCV中的图像SIFT / SURF细节?
我是 java android 开发人员,我对 C/C++ 或 Matlab 函数不太了解。在我的代码中做的简单的事情就是创建 sift/Surf 图像详细信息并将详细信息保存在 .yml 文件中。
这是我如何创建筛选的代码
将生成的描述符保存在( .yml )文件中,然后使用 OpenCV 的 FlannBasedMatcher 比较该 yml 文件
这是我的代码
描述符 1 和描述符 2 是从 .yml 文件创建的两个 mat 对象。
问题出在上面的代码中,每次我得到不同的结果。e
这是我的两张图片
我假设基于正面结果和负面结果的图像更模糊或不同。但是每次都有这种不同的结果,我无法判断图像是否相似。
请帮助我,我不了解 Opencv 和 c,所以如果有人有任何想法,请建议更正的代码。谢谢。