当前位置: 首页 > 知识库问答 >
问题:

在Java中,如何在OpenCV Mat中表示二元向量?

孙才捷
2023-03-14

我在看霍夫变换Java留档。

返回值采用 Mat 数据类型,描述为:

线的输出向量。每条线由一个双元素向量(rho,theta)表示。Rho 是与坐标原点 (0,0)(图像左上角)的距离。θ是以弧度为单位的线旋转角度(0~垂直线,pi/2~水平线)。

奇怪的是,这个描述与C接口的描述相匹配,但数据类型不匹配:在C中,您可以使用std::向量

那么,在Java中,两元素向量是如何在返回的Mat中表示/存储的呢?


共有1个答案

沈飞翔
2023-03-14

这是我前段时间在2.4.8版本中使用的一些代码matLines来自于此:

Imgproc.HoughLinesP(matOutline, matLines, 1, Math.PI / 180, houghThreshCurrent, houghMinLength, houghMaxGap);

Point[] points = new Point[]{ new Point(), new Point() };
for (int x = 0; x < matLines.cols(); x++) {
   double[] vec = matLines.get(0, x);
   points[0].x = vec[0];
   points[0].y = vec[1];
   points[1].x = vec[2];
   points[1].y = vec[3];
   //...
}
 类似资料:
  • 问题内容: 我在看Hough Transform的Opencv Java文档 。 返回值的数据类型描述为: 线的输出向量。每行由一个二元素矢量(rho,θ)表示。rho是距坐标原点(0,0)(图像的左上角)的距离。theta是弧度的直线旋转角度(0〜垂直线,pi / 2〜水平线)。 奇怪的是,此描述与C ++接口的描述匹配, 但是 数据类型与之不匹配:在C 中,您可以 按照本教程中的描述使用a 。

  • 问题内容: 在当前的作业中,我需要处理位向量,但是我不确定如何在Python中执行此操作。它们应该能够从4位到20位。我以前从未使用过位向量,但是我猜想一个人会创建一个使用无与伦比的字节数组,这些数组是使用通常的AND / OR / XOR操作进行操作的。 这里的 重要限制 是:除了标准Python提供的库之外,我不能依赖 任何 其他库。 我想我知道如何使用8位无符号字节数组在C中做到这一点:例如

  • 问题内容: 我们都知道数学上的区间(例如-4 <x <3)。 如何用Java表示这些数学区间,例如-4和3之间的数字(-4,-3,…,2、3等)? 问题答案: 检查apache commons-lang 。因此,如果要检查数字是否在给定的间隔(范围)内,请执行以下操作:

  • 问题内容: 我正在使用JDeveloper在Java中设计一个表单。我是JDeveloper的新手。在JDeveloper工具中,我没有找到任何直接将图像添加到.Net之类的选项。而且我不知道如何手动添加图像以形成表单。还有其他解决方法。所以请帮我解决。 问题答案: 就这么简单: 耶!现在,您的图像是摆动组件!将其添加到框架或面板或通常执行的任何操作中!可能也需要重新粉刷,例如

  • 问题内容: 我已经尝试解决了几个小时,但是找不到有效的答案。 为了完整起见,我在下面发布了整个代码。如果不重写toString方法,则将获得对象哈希码的表示形式。 我尝试使用以下内容: 但是,这似乎无济于事,因为我仍然获得了对哈希码的引用。我知道这是因为我没有正确覆盖toString方法;包含@Override批注时出现错误,但据我所知。 我查看了其他一些回答,这些回答说,在列表/集合的情况下,重

  • 问题内容: 如何用Python表示等效的枚举? 问题答案: 如PEP 435中所述,将枚举添加到Python 3.4中。它也已在pypi上反向移植到 和。 对于更高级的Enum技术,请尝试aenum库(2.7、3.3+,与作者相同enum34。py2和py3之间的代码并不完全兼容,例如,在python 2中需要)。 要使用enum34,做$ pip install enum34 要使用aenum,