类 LineSegmentDetector
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.imgproc.LineSegmentDetector
-
public class LineSegmentDetector extends Algorithm
线段检测器类,遵循 CITE: Rafael12 中描述的算法。注意:由于原始代码许可冲突,该实现在 OpenCV 3.4.6 到 3.4.15 版本以及 4.1.0 到 4.5.3 版本中已被移除。在 [NFA 计算](https://github.com/rafael-grompone-von-gioi/binomial_nfa) 代码以 MIT 许可发布后,已再次恢复。
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护LineSegmentDetector(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 静态 LineSegmentDetector__fromPtr__(long addr)intcompareSegments(Size size, Mat lines1, Mat lines2)用蓝色和红色绘制两组线,计算不重叠(不匹配)的像素。intcompareSegments(Size size, Mat lines1, Mat lines2, Mat image)用蓝色和红色绘制两组线,计算不重叠(不匹配)的像素。voiddetect(Mat image, Mat lines)在输入图像中查找线条。voiddetect(Mat image, Mat lines, Mat width)在输入图像中查找线条。voiddetect(Mat image, Mat lines, Mat width, Mat prec)在输入图像中查找线条。voiddetect(Mat image, Mat lines, Mat width, Mat prec, Mat nfa)在输入图像中查找线条。voiddrawSegments(Mat image, Mat lines)在给定图像上绘制线段。protected voidfinalize()-
从类继承的方法 org.opencv.core.Algorithm
clear, empty, getDefaultName, getNativeObjAddr, save
-
-
-
-
方法详细信息
-
__fromPtr__
public static LineSegmentDetector __fromPtr__(long addr)
-
detect
public void detect(Mat image, Mat lines, Mat width, Mat prec, Mat nfa)
在输入图像中查找线条。这是在上面显示的图像上使用算法默认参数的输出。 - 参数
image- 灰度 (CV_8UC1) 输入图像。如果只需要选择 ROI,请使用:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);lines- Vec4f 元素的向量,指定线条的起始和结束点。其中 Vec4f 为 (x1, y1, x2, y2),点 1 是起点,点 2 是终点。返回的线条严格根据梯度定向。width- 线条所在区域的宽度向量。例如,线条的宽度。prec- 找到线条的精度向量。nfa- 包含线条区域中误报数量的向量,精度为 10%。值越大,对数检测越好。- -1 对应于 10 个平均误报
- 0 对应于 1 个平均误报
- 1 对应于 0.1 平均误报。只有当对象类型为 #LSD_REFINE_ADV 时才会计算此向量。
-
detect
public void detect(Mat image, Mat lines, Mat width, Mat prec)
在输入图像中查找线条。这是在上面显示的图像上使用算法默认参数的输出。 - 参数
image- 灰度 (CV_8UC1) 输入图像。如果只需要选择 ROI,请使用:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);lines- Vec4f 元素的向量,指定线条的起始和结束点。其中 Vec4f 为 (x1, y1, x2, y2),点 1 是起点,点 2 是终点。返回的线条严格根据梯度定向。width- 线条所在区域的宽度向量。例如,线条的宽度。prec- 找到线条的精度向量。值越大,对数检测越好。- -1 对应于 10 个平均误报
- 0 对应于 1 个平均误报
- 1 对应于 0.1 平均误报。只有当对象类型为 #LSD_REFINE_ADV 时才会计算此向量。
-
detect
public void detect(Mat image, Mat lines, Mat width)
在输入图像中查找线条。这是在上面显示的图像上使用算法默认参数的输出。 - 参数
image- 灰度 (CV_8UC1) 输入图像。如果只需要选择 ROI,请使用:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);lines- Vec4f 元素的向量,指定线条的起始和结束点。其中 Vec4f 为 (x1, y1, x2, y2),点 1 是起点,点 2 是终点。返回的线条严格根据梯度定向。width- 线条所在区域的宽度向量。例如,线条的宽度。值越大,对数检测越好。- -1 对应于 10 个平均误报
- 0 对应于 1 个平均误报
- 1 对应于 0.1 平均误报。只有当对象类型为 #LSD_REFINE_ADV 时才会计算此向量。
-
detect
public void detect(Mat image, Mat lines)
在输入图像中查找线条。这是在上面显示的图像上使用算法默认参数的输出。 - 参数
image- 灰度 (CV_8UC1) 输入图像。如果只需要选择 ROI,请使用:lsd_ptr->detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);lines- Vec4f 元素的向量,指定线条的起始和结束点。其中 Vec4f 为 (x1, y1, x2, y2),点 1 是起点,点 2 是终点。返回的线条严格根据梯度定向。值越大,对数检测越好。- -1 对应于 10 个平均误报
- 0 对应于 1 个平均误报
- 1 对应于 0.1 平均误报。只有当对象类型为 #LSD_REFINE_ADV 时才会计算此向量。
-
drawSegments
public void drawSegments(Mat image, Mat lines)
在给定图像上绘制线段。- 参数
image- 将绘制线条的图像。应大于或等于找到线条的图像。lines- 需要绘制的线条向量。
-
compareSegments
public int compareSegments(Size size, Mat lines1, Mat lines2, Mat image)
用蓝色和红色绘制两组线,计算不重叠(不匹配)的像素。- 参数
size- 图像的大小,其中找到 lines1 和 lines2。lines1- 需要绘制的第一组线条。它以蓝色可视化。lines2- 第二组线条。它们以红色可视化。image- 可选图像,将在其中绘制线条。图像应该是彩色(3 通道),以便 lines1 和 lines2 以上述颜色绘制。- 返回
- 自动生成
-
compareSegments
public int compareSegments(Size size, Mat lines1, Mat lines2)
用蓝色和红色绘制两组线,计算不重叠(不匹配)的像素。- 参数
size- 图像的大小,其中找到 lines1 和 lines2。lines1- 需要绘制的第一组线条。它以蓝色可视化。lines2- 第二组线条。它们以红色可视化。为了使 lines1 和 lines2 以上述颜色绘制。- 返回
- 自动生成
-
-