问题标签 [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.
android - Imgproc.getRectSubPix() 给出错误
我正在写一篇论文,连续 3 天我被我的代码中的一个错误阻止了,看在上帝的份上,似乎无法修复它。
这个想法很简单,我有一张带有 3 个黑角的地图(就像 QR 码一样)。我得到了 3 个黑色角中心坐标和最后一个点的坐标(点 D) 我想将此区域提取到文件中,以使地图始终指向 0、90、180、270,360 度的角度。我搜索了互联网并找到了一个涉及 RotatedRectangle 的解决方案。这是一些有效的代码:
但是,无论我做什么,以下代码都不起作用:
我在执行 e.message() 时得到的错误是: cv::Exception: /home/reports/ci/slave_desktop/50-SDK/opencv/modules/imgproc/src/samplers.cpp:556: error: ( -210) 在函数 void cvGetRectSubPix(void const, void, CvPoint2D32f)
java - 无法将 32FC3 转换为 8UC3 以在 OpenCV 中将图像另存为 jpg
我正在阅读一系列 jpg,然后使用 OpenCV 的 convertTo(Mat, CV_32FC3) 函数来转换它们:
我想我必须先将其转换回 CV_8UC3,然后才能将其写入 jpg,但我不知道该怎么做。我发现了其他一些 SO 答案,说我需要将它乘以 255(convertTo() 中的第三个参数)来缩放它,但是这样做会使输出完全变白。100 是一个更好的数字,但仍然存在大量剪辑(更不用说 255 是 8 位图片最合乎逻辑的数字)。这是正确的方法吗?如果没有,如何正确保存图像?
android - 使用 android.hardware.camera2 设置自定义分辨率和帧率
我正在尝试为我的应用程序设置较低的帧速率以实时检测对象。我也在尝试设置较低的分辨率集。
我目前这样做了,但使用了“android.hardware.camera”,但这在较新的 API(即 21 和 22)中已被弃用。我想通过使用JavaCameraView类来执行此操作,以便我可以通过OpenCV包含它并对帧应用特定处理。
高分辨率设置会占用过多的处理能力。
我目前正在使用“android.hardware.camera2”,但我不知道如何像以前的 API 中那样更改这些参数。
代码将不胜感激
android - 在 Android 中加载 JavaCV 中的库时出错
我正在尝试使用 javaCV 实现一个简单的人脸识别代码。我收到一个错误,不知道为什么。
我已将每个 .so 文件复制到几乎所有目录 -> app/libs/armeabi 和 app/src/main/jniLibs 还将 javacpp.jar 和 javacv.jar 复制到 app/libs 目录
这是错误:
引起:java.lang.UnsatisfiedLinkError:dlopen失败:无法加载“libjniopencv_contrib.so”所需的库“libopencv_contrib.so”;由于无法加载“libopencv_contrib.so”所需的库“../../lib/libopencv_legacy.so”;由在 com 的 java.lang.System.load(System.java:511) 的 java.lang.Runtime.load(Runtime.java:330) 中找不到库“../../lib/libopencv_legacy.so”引起.googlecode.javacpp.Loader.loadLibrary(Loader.java:700) 在 com.googlecode.javacpp.Loader.load(Loader.java:586) 在 com.googlecode.javacpp.Loader.load(Loader.java:540) 在com.googlecode.javacv.cpp.opencv_contrib.(opencv_contrib.java:97) 在 com.ifta.face.OpenCVFaceRecognizer.recognise(OpenCVFaceRecognizer.java:
我正在使用的java函数是:
android - 在 cygwin 中使用 android NDK 编译 OpenCV 库以进行图像拼接会在创建 libutils.so 时引发错误
我正在使用 OpenCV-2.4.9 sdk 和OpenCV 拼接库来创建要编译的全景图像,并将 .so 文件创建到应用程序内的 libs 文件夹中
- 我在 Windows 上使用 cygwin 从项目中编译 jni 目录。它给出了如下图所示的错误:
- 在 Windows 7,8 (x86,x64) 中尝试过,但它给出了同样的错误
- 成功编译了其他 OpenCV 示例库,但这个没有成功编译。
有谁知道是什么导致这个错误被抛出?
opencv - 在图像底部不属于背景的情况下如何改进 Grabcut?
当我在图像上运行 Grabcut 时,我将grabcut 的边界框设置为图像本身的边缘。
但是,由于图像的底部是前景而不是背景的一部分,因此它会切掉下部。
有什么办法可以防止这种情况发生,比如只将边界框设置在顶部、左侧和右侧?
android - Android OpenCV - 确定 MatOfPoint 是否包含一个点
我正在使用适用于 Android 的 OpenCV3 库,并且能够成功扫描某种颜色的颜色斑点。
我试图扩展此功能,以便能够通过硬编码我想要的 HSV 值来扫描被某种颜色遮蔽的网格中的轮廓。我接下来要做的是能够确定一个点是否包含在我的轮廓中。
现在我不确定如何继续检查我的contours
List (of a MatOfPoint
) 是否包含某个点p
。我检查了文档,MatOfPoint
似乎没有直接的方法来检查它是否包含某个点。
android - 适用于 Android 的 OpenCV 3.0 - 静态初始化未加载新模块
我最近将我的 Android 项目从 OpenCV 2.4.10 移到了OpenCV 3.0。
我使用以下代码静态初始化 OpenCV:
当我运行我的应用程序时,我得到了这个异常:
Imgcodecs 是 OpenCV 3.0 中的一个新模块,它取代了 OpenCV 2.4.* 中的 Highgui,如果我是对的。
初始化时,我可以在 OpenCV 的日志中看到以下输出:
根据以上信息,我猜 OpenCV 3.0 的 OpenCVLoader 仅初始化 2.4.10 中的旧模块。您可以看到它加载了不再需要的 highgui 模块。
这是新 OpenCV 的错误还是我遗漏了什么?是否有一些解决方法如何加载新模块?谢谢。
android - 未找到 OpenCV 库包
我一直在尝试运行 OpenCV 提供的适用于 Android 的“OCV 15 Puzzle”示例应用程序,但它不起作用;每次我尝试运行该应用程序时,都会出现一条消息:“找不到包,找不到 OpenCV 库包!尝试安装它?是/否”。我按下“是”,然后我收到一条新消息提示:“OpenCV 管理器,包安装失败!”。
我从 Google Play 安装了 OpenCV 管理器,所以理论上我应该能够运行示例应用程序。我也一直在到处寻找解决方案,到目前为止,我取得了 0 次成功。我正在使用三星 Galaxy mini S3 运行该应用程序。(安卓版本 4.1.2)。
非常感谢任何帮助!