IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 直线检测算法博文中缺失的几个源码(Hough_line、LSD、FLD、EDlines、LSWMS、CannyLines、MCMLSD、LSM) -> 正文阅读

[人工智能]直线检测算法博文中缺失的几个源码(Hough_line、LSD、FLD、EDlines、LSWMS、CannyLines、MCMLSD、LSM)

直线检测在我们的图像处理算法中是非常重要的。
博文https://blog.csdn.net/WZZ18191171661/article/details/101116949
对常用的直线检测算法进行了汇总性介绍,并给出了性能对比。
无奈,本人和很多小伙伴一样,看到上面这篇博文的时间晚了,有几个代码的下载链接已经失效了。
可是这些直线检测算法又很诱人,所以本人经过一番周折,找齐了文中的所有代码。
同时,为了避免将来更多的下载链接失效,所以索性把所有的代码都保存在这篇博文中,以供自己和大家将来使用的方便。

1 Hough_line代码

# coding=utf-8
# 导入相应的python包
import cv2 
import numpy as np 
  
# 读取输入图片
img = cv2.imread('test3.jpg') 
# 将彩色图片灰度化
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
# 使用Canny边缘检测 
edges = cv2.Canny(gray,50,200,apertureSize = 3) 
# 进行Hough_line直线检测
lines = cv2.HoughLines(edges,1,np.pi/180, 200) 
print(lines)
# 遍历每一个r和theta
for i in range(len(lines)):
    r,theta = lines[i, 0, 0], lines[i, 0, 1]
    # 存储cos(theta)的值
    a = np.cos(theta)
    # 存储sin(theta)的值
    b = np.sin(theta) 
    # 存储rcos(theta)的值
    x0 = a*r 
    # 存储rsin(theta)的值 
    y0 = b*r  
    # 存储(rcos(theta)-1000sin(theta))的值
    x1 = int(x0 + 1000*(-b)) 
    # 存储(rsin(theta)+1000cos(theta))的值
    y1 = int(y0 + 1000*(a)) 
    # 存储(rcos(theta)+1000sin(theta))的值
    x2 = int(x0 - 1000*(-b)) 
    # 存储(rsin(theta)-1000cos(theta))的值
    y2 = int(y0 - 1000*(a))  
    # 绘制直线结果  
    cv2.line(img,(x1,y1), (x2,y2), (0,255,0),2) 
# 保存结果
cv2.imwrite('test3_r.jpg', img) 
cv2.imshow("result", img)
cv2.waitKey(0)

2 HoughP_line代码

# coding=utf-8
# 导入相应的python包
import cv2 
import numpy as np 
  
# 读取输入图片
img = cv2.imread('test3.jpg') 
# 将彩色图片灰度化
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
# 使用Canny边缘检测 
edges = cv2.Canny(gray,50,200,apertureSize = 3) 
# 进行Hough_line直线检测
lines = cv2.HoughLinesP(edges,1,np.pi/180, 80, 30, 10) 

# 遍历每一条直线
for i in range(len(lines)): 
	cv2.line(img,(lines[i, 0, 0],lines[i, 0, 1]), (lines[i, 0, 2],lines[i, 0, 3]), (0,255,0),2) 
# 保存结果
cv2.imwrite('test3_r.jpg', img) 
cv2.imshow("result", img)
cv2.waitKey(0)

3 LSD代码

# coding=utf-8
import cv2
import numpy as np

# 读取输入图片
img0 = cv2.imread("test3.jpg")
# 将彩色图片转换为灰度图片
img = cv2.cvtColor(img0,cv2.COLOR_BGR2GRAY)

# 创建一个LSD对象
lsd = cv2.createLineSegmentDetector(0)
# 执行检测结果
dlines = lsd.detect(img)
# 绘制检测结果
for dline in dlines[0]:
    x0 = int(round(dline[0][0]))
    y0 = int(round(dline[0][1]))
    x1 = int(round(dline[0][2]))
    y1 = int(round(dline[0][3]))
    cv2.line(img0, (x0, y0), (x1,y1), (0,255,0), 1, cv2.LINE_AA)

# 显示并保存结果
cv2.imwrite('test3_r.jpg', img0)
cv2.imshow("LSD", img0)
cv2.waitKey(0)
cv2.destroyAllWindows()

4 FLD算法代码

# coding=utf-8
import cv2
import numpy as np

# 读取输入图片
img0 = cv2.imread("test3.jpg")
# 将彩色图片转换为灰度图片
img = cv2.cvtColor(img0,cv2.COLOR_BGR2GRAY)

# 创建一个LSD对象
fld = cv2.ximgproc.createFastLineDetector()
# 执行检测结果
dlines = fld.detect(img)
# 绘制检测结果
# drawn_img = fld.drawSegments(img0,dlines, )
for dline in dlines:
    x0 = int(round(dline[0][0]))
    y0 = int(round(dline[0][1]))
    x1 = int(round(dline[0][2]))
    y1 = int(round(dline[0][3]))
    cv2.line(img0, (x0, y0), (x1,y1), (0,255,0), 1, cv2.LINE_AA)

# 显示并保存结果
cv2.imwrite('test3_r.jpg', img0)
cv2.imshow("LSD", img0)
cv2.waitKey(0)
cv2.destroyAllWindows()

5 EDlines直线检测算法论文和代码

EDlines直线检测算法论文百度网盘下载链接:
https://pan.baidu.com/s/1wIegM9nt97P1sq1HPrjL1g?pwd=b7of

EDlines直线检测算法我提供两个源码给大家。
首先是博文https://blog.csdn.net/WZZ18191171661/article/details/101116949中提供给大家的。
百度网盘下载链接:
https://pan.baidu.com/s/1-8zIXli1nV5V-guxYvnF8w?pwd=9u02
注意:这个代码原作者已经进行更新了,所以其主函数所在的代码并不与博文https://blog.csdn.net/WZZ18191171661/article/details/101116949中给大家展示的主函数代码一样了,但是算法是相同的算法。

另一个是某老外使用以上代码后上传分享的,下载链接如下:
https://pan.baidu.com/s/1tUQ_6INiDLn59of59IAxww?pwd=n8g7
这个代码还附带了代码运行时的原图片和结果图片,如下图所示:
在这里插入图片描述
还需要注意:上面两个代码要想正常编译,都需要你的开发环境配置了ARPACK。

6 LSWMS直线检测算法论文和代码

论文下载链接:
https://pan.baidu.com/s/12raOHnfHZvLaPLkvNr1A7Q?pwd=byus
源码百度网盘下载链接:
https://pan.baidu.com/s/1roU8z07tzHiPY4Nm2VIFqQ?pwd=fdjm
源码中带了测试图片,如下图所示:
在这里插入图片描述

7 CannyLines直线检测算法。

博文https://blog.csdn.net/WZZ18191171661/article/details/101116949提供的这个算法的论文和源码链接均已失效。
我花了些时间和精力,找到了,下面是下载链接。

因为是自己花费时间和精力找寻的,所以我上传到了CSDN的付费下载区(1.9元即可下载),敬请大家见谅,下载链接:
https://download.csdn.net/download/wenhao_ir/85336811
由于CSDN的下载区不允许上传论文,所以需要论文的同学可以下载后私信我,我工作时都开启CSDN的,所以回复得很快的。
相关截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8 MCMLSD直线检测算法

这个算法的论文百度网盘下载链接:
https://pan.baidu.com/s/1lWSu5APa55ahXRELUFvpxQ?pwd=pj4h
这个算法的代码百度网盘下载链接:
链接:https://pan.baidu.com/s/1QWP5946yuwdEVG8sRFhZyg?pwd=ow0p

9 LSM直线检测算法

这个算法的论文和代码下载链接也失效了,不过经过一番周折,我也找到了。
因为是自己花时间和精力找到的,所以我也上传到了CSDN的付费下载区,敬请大家谅解。
下载链接:
https://download.csdn.net/download/wenhao_ir/85337139
由于CSDN下载区不允许上传论文,所以需要论文的朋友请下载后私信博主,博主工作时都开着CSDN的,所以会很快回复的。
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:27:02  更:2022-05-11 16:28:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:54:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码