霍夫变换绘制出图案里的直线

简介: 霍夫变换绘制出图案里的直线

Hough变换是图像处理中从图像中识别几何形状的基本方法之一。Hough变换的基本原理在于利用点与线的对偶性;应用很广泛,也有很多改进算法。最基本的霍夫变换是从黑白图像中检测直线(线段)。 霍夫变换于1962年由Paul Hough 首次提出;1972年由Richard Duda和Peter Hart推广;


#-- coding: utf-8 -- """

Created on Sat Jan 18 15:30:10 2014 @author: duan """ #-- coding: utf-8 --

"""

Created on Sat Jan 18 19:38:31 2014

@author:

"""


#绘制出图案里面的直线

import cv2

import numpy as np

img = cv2.imread('five.jpeg')

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) --注 cvtColor用于将图像从一个颜色空间转换到另一个颜色空间的转换;常见的颜色空间均支持;在转换的过程中能够保证转换后的图像的数据类型和位深与源图像一致;

edges = cv2.Canny(gray,50,150,apertureSize = 3) --canny边缘检测算法

lines = cv2.HoughLines(edges,1,np.pi/180,200) HoughLines()函数可以找出采用标准霍夫变换的二值图像线条;来调用标准霍夫变换SHT和多尺度霍夫变换MSHT的OpenCV内建算法。


print((lines)) --绘制出线段 for linei in lines:


for rho,theta in linei:
    a = np.cos(theta)
    b = np.sin(theta)
    x0 = a*rho
    y0 = b*rho
    x1 = int(x0 + 1000*(-b))
    y1 = int(y0 + 1000*(a))
    x2 = int(x0 - 1000*(-b))
    y2 = int(y0 - 1000*(a))
    cv2.line(img,(x1,y1),(x2,y2),(255,0,0),2)
    --绘制线段的函数
复制代码

cv2.imwrite('houghlines3.jpg',img) --图像的保存



相关文章
|
域名解析 网络协议 Linux
解决Linux环境中ping域名ping不通,ping ip地址可以ping通问题
解决Linux环境中ping域名ping不通,ping ip地址可以ping通问题
解决Linux环境中ping域名ping不通,ping ip地址可以ping通问题
|
10天前
|
传感器 人工智能 安全
【口碑排行】 甲方真实的投票:售后服务场景下,客户满意度最高的语音机器人品牌盘点
在2025大模型落地元年,语音机器人成为售后数字化转型关键。本文基于IDC、信通院等权威数据,从交互自然度、业务闭环、工程化交付三大维度,盘点主流服务品牌,助力企业选型实现降本增效与95%以上客户满意度双目标。
|
11月前
|
机器学习/深度学习 并行计算 API
Qwen2.5-1M: 支持100万Tokens上下文的开源Qwen模型
两个月前,Qwen团队升级了 Qwen2.5-Turbo,使其支持最多一百万个Tokens的上下文长度。今天,Qwen正式推出开源的 Qwen2.5-1M 模型及其对应的推理框架支持。
2201 28
|
传感器 安全 物联网
Gateway基本配置:打开网络之门
Gateway基本配置:打开网络之门
|
缓存 监控 前端开发
WEB前端三大主流框架:React、Vue与Angular
在Web前端开发中,React、Vue和Angular被誉为三大主流框架。它们各自具有独特的特点和优势,为开发者提供了丰富的工具和抽象,使得构建复杂的Web应用变得更加容易。
3784 6
|
存储 安全 算法
|
前端开发 JavaScript
若依框架 -------- vue3+element-plus(三)
若依框架 -------- vue3+element-plus(三)
539 0
|
缓存 Java Spring
一张图彻底搞懂Spring循环依赖
循环依赖就是指循环引用,是两个或多个Bean相互之间的持有对方的引用。BeanA 类依赖了Bean B类,同时Bean B类又依赖了Bean A类。这种依赖关系形成了一个闭环,我们把这种依赖关系就称之为循环依赖。Bean A类依赖了Bean B类,Bean B类依赖了Bean C类,Bean C类依赖了Bean A类,如此,也形成了一个依赖闭环。自己引用了自己,自己和自己形成了依赖关系。同样也是一个依赖闭环。
922 1
|
SQL 移动中间件 网络协议
带你读《2022技术人的百宝黑皮书》——如何避免写重复代码:善用抽象和组合(5)
带你读《2022技术人的百宝黑皮书》——如何避免写重复代码:善用抽象和组合(5)
255 0