ImageLines[image]
找到 image 中的线条,并且返回它们的端点坐标.
ImageLines[image,t]
利用阈值 t 来选择图像的线条.
ImageLines[image,t,d]
利用参数 d 来控制所检测线条的特征.
ImageLines[video,…]
找出 video 各帧中的直线.
ImageLines
ImageLines[image]
找到 image 中的线条,并且返回它们的端点坐标.
ImageLines[image,t]
利用阈值 t 来选择图像的线条.
ImageLines[image,t,d]
利用参数 d 来控制所检测线条的特征.
ImageLines[video,…]
找出 video 各帧中的直线.
更多信息和选项
- ImageLines 返回格式为 Line[{p1,p2}] 的线段列表,其中,用标准图像坐标系统表示每个 pi={xi,yi}.
- ImageLines[image,t] 在 image 中找到的线条满足规范化的强度 (strength) 大于指定的阈值 t.
- ImageLines 基于规范化的强度对结果排序.
- 在 ImageLines[image,t,d] 中,参数 d 控制如何抑制闭合的线条. 如果值被设为零,那么返回所有检测到的线条. 当 d 设为 1 时,只有最强的线条可能被返回.
- 可以给出下列选项:
-
MaxFeatures All 返回最大特征数目 Method "Hough" 检测线条的方法 - 设置 MaxFeatures->n 下,返回至多 n 条具有最大规范化强度的线条.
- 可能的线检测方法是:
-
"Hough" 基于 Hough 变换的线条(默认) "RANSAC" 使用 RANSAC 算法的线条 - 设置 Method->"Hough" 下,通过迭代选择 Hough 变换中的最强峰检测线条. 使用区分参数,从线条候选集合中排除了位于已经选择的峰值的矩形范围内的峰值.
- 设置 Method->"RANSAC" 下,使用随机采样检测线条. 对于每个样本,由差异参数 d 指定的距离内的像素用于计算线条的强度. 被选择的线条上的像素不参与接下来的迭代.
- 默认情况下,ImageLines 返回从边界扩展到边界的线条. 设置 Method->{"Segmented"->True} 下,检测到的线条可能被划分成较小的线段.
范例
打开所有单元 关闭所有单元基本范例 (1)
范围 (2)
选项 (3)
MaxFeatures (1)
Method (2)
默认情况下,使用 Method->"Hough" 检测线条:
img = [image];
lines = ImageLines[img, .23, Method -> "Hough"];
HighlightImage[img, lines]lines = ImageLines[img, .23, Method -> "RANSAC"];
HighlightImage[img, lines]img = [image];
lines = ImageLines[img, .2, Method -> {"Hough", "Segmented" -> True}];
HighlightImage[img, lines, ImageSize -> 240]lines = ImageLines[img, .23, Method -> {"RANSAC", "Segmented" -> True}];HighlightImage[img, lines, ImageSize -> 240]应用 (6)
img = [image];
lines = ImageLines[img];
HighlightImage[img, lines]img = [image];
lines = ImageLines[img, .53, .03, Method -> {"Segmented" -> True}];
HighlightImage[img, {Black, lines}, ImageSize -> 320]img = [image];
lines = ImageLines[EdgeDetect[img], .28, .06];
HighlightImage[img, lines]img = [image];
lines = ImageLines[ImageAdjust@GradientFilter[img, 3, Method -> {"NonMaxSuppression" -> True}], .09, Method -> {"Segmented" -> True}];
HighlightImage[img, {Yellow, lines}]img = [image];
lines = ImageLines[EdgeDetect[img, 13], .18];
HighlightImage[img, lines]image = [image];(g = GradientFilter[image, 2])//ImageAdjustHighlightImage[image, lines = ImageLines[g, MaxFeatures -> 10]]angles = Mod[ArcTan@@@Flatten[Differences@@@lines, 1], π]θ = Mean@Select[angles, Abs[# - π / 2] < π / 4&]ImageRotate[image, π / 2 - θ]可能存在的问题 (2)
Length@ImageLines[[image], .1, #]& /@ {0, .1}i = [image];lines = ImageLines[i, MaxFeatures -> 3, Method -> {"Segmented" -> True}];
HighlightImage[i, lines]lines = ImageLines[Blur[i], MaxFeatures -> 3, Method -> {"Segmented" -> True}];
HighlightImage[i, lines]i2 = ImageResize[i, Scaled[2]];lines = ImageLines[i2, MaxFeatures -> 3, Method -> {"Segmented" -> True}];
HighlightImage[i2, lines]文本
Wolfram Research (2010),ImageLines,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ImageLines.html (更新于 2025 年).
CMS
Wolfram 语言. 2010. "ImageLines." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2025. https://reference.wolfram.com/language/ref/ImageLines.html.
APA
Wolfram 语言. (2010). ImageLines. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ImageLines.html 年
BibTeX
@misc{reference.wolfram_2026_imagelines, author="Wolfram Research", title="{ImageLines}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ImageLines.html}", note=[Accessed: 12-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_imagelines, organization={Wolfram Research}, title={ImageLines}, year={2025}, url={https://reference.wolfram.com/language/ref/ImageLines.html}, note=[Accessed: 12-November-2026]}