- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 Xamarin 上开发移动应用程序。首先,我正在为 Android 设备做这件事。我希望 Oncamera 功能能够自动检测轮廓并测量物体的大小。作为主要步骤,我正在尝试实时检测轮廓。阅读了很多表格和文档,但没有任何帮助
public Mat OnCameraFrame(CameraBridgeViewBase.ICvCameraViewFrame inputFrame)
{
Mat input = inputFrame.Rgba();
List<MatOfPoint> contours = new ArrayList<MatOfPoint>();
Mat gray = new Mat();
//Mat hierarchy = new Mat();
Imgproc.CvtColor(p0: input, p1: gray, p2: Imgproc.ColorRgb2gray);
Mat blur = new Mat();
Imgproc.GaussianBlur(gray, blur, new Size(7, 7), -2);
Mat thresh = new Mat();
Imgproc.Threshold(blur, thresh, 127, 250, Imgproc.ThreshBinary);
Mat edged = new Mat();
Imgproc.Canny(thresh, thresh, 25, 50);
Imgproc.Dilate(thresh, thresh, new Mat(), new Point(-1, 1), 1);
Mat hierarchy = thresh.Clone();
Imgproc.FindContours(hierarchy, contours, new Mat(),
Imgproc.RetrExternal, Imgproc.ChainApproxNone);
Java.Lang.JavaSystem.Out.Println("contours" + contours);
if (contours != null)
{
Java.Lang.JavaSystem.Out.Println("found contours");
for (int i = 0; i < contours.Count(); i++)
{
Imgproc.DrawContours(input, contours, i, new Scalar(255, 0, 0), -1);
}
}
else
{
Java.Lang.JavaSystem.Out.Println("no contours");
}
return input;
我在代码中使用了上面的逻辑。但是我在应用程序中的输出显示的是正常图像,上面没有绘制任何轮廓。如果我返回“thresh”,那么精明的边缘检测就可以正常工作。但是 Drawcontours 没有显示任何内容。我使用了 Contours.count(),因为我的 Xamarin ide 显示 contours.Size() 错误;
最佳答案
我遇到了类似的问题。就我而言,我已经更换了
List<MatOfPoint> contours = new ArrayList<MatOfPoint>();
与
IList<MatOfPoint> contours = new JavaList<MatOfPoint>();
关于Java Opencv 未检测轮廓。 imgproc.Drawcontours(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47638405/
我目前正在开发一个关于人脸识别的 Android 应用程序。所以我从 github 获取了一个源代码。它使用 OpenCv,但源代码使用的是旧版本的 OpenCv,而我使用的是最新版本 3.0.0。代
以下函数中参数4的含义是什么? Imgproc.cvtColor(pointMatHsv, pointMatRgba, Imgproc.COLOR_HSV2RGB_FULL, 4); 最佳答案 Img
我是opencv和Java的初学者。我想学习Imgproc.findContours()方法的用法和功能。我没有任何资料可以学习。谁能详细解释一下它的工作原理。或有人可以建议我作为学习它的合适资源。
在我的 Android 应用程序中,我从图库中获取了一张位图图像,内容如下 Bitmap bitm = getMyImage("Thanks!"); 我有一个名为 mat 的 Mat,声明如下: Ma
我将 OpenCV 2.4.11 用于带有 OpenCvBinding 的 Xamarin.Android。我试图找到图像中最大的颜色区域。 static public Tuple GetArea(B
OpenCV 的 imgproc 和 feature2d 模块都具有特征检测功能,但是我在任何地方都没有看到任何解释两者之间差异以及为什么 OpenCV 有两个不同部分具有相同名称的文本。 拜托,有人
Java视频应用使用 Imgproc.undistort(frameIn,frameout_undist,cameraMatrix,distCoeffs,camUndistortMatrix); 使用
当我编译并运行这段代码时,出现错误。它可以编译,但是当我尝试运行它时,它会出现以下错误: 应用程序已请求运行时以异常方式终止。 这是代码: #include #include int main()
我正在尝试在 Xamarin 上开发移动应用程序。首先,我正在为 Android 设备做这件事。我希望 Oncamera 功能能够自动检测轮廓并测量物体的大小。作为主要步骤,我正在尝试实时检测轮廓。阅
--请参阅下面的更新/答案。用户错误!-- 我正在尝试了解如何在 Imgproc.HoughLines() 中设置参数以找到较短的行。我试过这样的东西,但根本不起作用: Imgproc.HoughLi
我是新手 OCV 和 android 开发人员。我想在我的应用程序中使用 Imgproc.GaussianBlur 过滤器。当我使用它时,应用程序发送“应用程序已停止”。我只在“OpenCV 教程 3
每次使用 opencv 中的图像处理函数时,都会出现 C++ 运行时错误。 这是我的代码,我得到“应用程序已请求以异常方式终止它” #include #include int main() {
我是 OpenCV 的新手。遵循了 openCV 教程。现在,当我构建项目时,错误就来了。它说未找到包含目录 imgproc.hpp。当我检查 opencv/include/opencv2 文件夹时,
我需要 OpenCV Java 2.4.9 和 3.1 的一些方法,但是 3.1 版本的 Imgproc 类没有 copyMakeBorder() 方法,而它存在于 2.4 版本中。 9.请注意,如果
我在图像上找到了一个 rotatedRect,我想检索这个 rotatedRect 中所有像素的子矩阵。我在这个主题上找到了这个 C++ 代码:http://answers.opencv.org/qu
我对 OpenCV4Android 有疑问。 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.exampl
我正在打电话: Imgproc.matchTemplate(image, templ, result, 0); 并且匹配的结果在一个 Mat 实例中。我找不到此类的任何文档。如果我理解正确,结果包含一
当我运行时: @Test public void funkyTriangleContour2_forStack_works() { final var points =
我正在尝试在使用 React Native 编写的移动应用程序中使用 OpenCV。现在我只关注Android部分。我使用 Android 版的官方 OpenCV。我确实添加了 sdk,修改了我的 M
我已经从 itseez 的 github 下载了 opencv 3.0 的最新主分支和额外模块。按照使用模块编译 opencv 3.0 的说明,我在 Ubuntu 14.04 上使用了以下命令行 cm
我是一名优秀的程序员,十分优秀!