博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
14、OpenCV Python 直线检测
阅读量:5172 次
发布时间:2019-06-13

本文共 1444 字,大约阅读时间需要 4 分钟。

1 __author__ = "WSX" 2 import cv2 as cv 3 import numpy as np 4 #-----------------霍夫变换--------------------- 5 #前提条件: 边缘检测完成 6 def line_detection(image): 7     gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) 8     edges = cv.Canny(gray, 50, 150, apertureSize=3) 9     lines = cv.HoughLines(edges, 1, np.pi/180, 200)10     for line in lines:11         print(type(lines))12         rho, theta = line[0]13         a = np.cos(theta)14         b = np.sin(theta)15         x0 = a * rho16         y0 = b * rho17         x1 = int(x0+1000*(-b))18         y1 = int(y0+1000*(a))19         x2 = int(x0-1000*(-b))20         y2 = int(y0-1000*(a))21         cv.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2)22     cv.imshow("image-lines", image)23 24 25 def line_detect_possible_demo(image):26     gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)27     edges = cv.Canny(gray, 50, 150, apertureSize=3)28     lines = cv.HoughLinesP(edges, 1, np.pi/180, 100, minLineLength=50, maxLineGap=10)29     for line in lines:30         print(type(line))31         x1, y1, x2, y2 = line[0]32         cv.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2)33     cv.imshow("line_detect_possible_demo", image)34 35 def main():36     img = cv.imread("1.JPG")37     cv.namedWindow("Show", cv.WINDOW_AUTOSIZE)38     cv.imshow("Show", img)39     line_detect_possible_demo(img)40 41     cv.waitKey(0)42     cv.destroyAllWindows()43 44 main()

 

转载于:https://www.cnblogs.com/WSX1994/p/9155529.html

你可能感兴趣的文章
泥塑课
查看>>
setImageBitmap和setImageResource
查看>>
springMVC4 注解配置实例
查看>>
单片机编程
查看>>
Filter in Servlet
查看>>
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>
树形DP
查看>>
python flask解决上传下载的问题
查看>>
语法测试
查看>>
CES1
查看>>
CES2
查看>>
文件方式实现完整的英文词频统计实例
查看>>
单个SWF文件loading加载详解(转)
查看>>
SQLServer中的CTE通用表表达式
查看>>
C# 3.0 LINQ的准备工作
查看>>