CV算法 (一):霍夫变换

本文介绍了霍夫变换的基本原理及其在计算机视觉中的应用,包括从点到直线的转换,用于检测图像中的直线和圆。文章分为两部分,首先详细阐述了霍夫变换的理论,接着提供了手撕代码的实践指导,帮助读者理解和应用霍夫变换。
摘要由CSDN通过智能技术生成


CV算法 (一):霍夫变换

霍夫变换可以实现 点到直线,直线到到点的转换,利用这一特性,我们可以通过霍夫变换检测直线,圆圈等


一、手写霍夫变换原理

手写霍夫变换图解
更详细的解释,可参考资料:
https://www.bilibili.com/video/BV1bb411b7VQ?from=search&seid=10595774442048469089&spm_id_from=333.337.0.0
https://jishuin.proginn.com/p/763bfbd6c025

二、手撕代码

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as colors

np.random.seed(777)
np.set_printoptions(precision=3, suppress=True)
np.set_printoptions(formatter={
   'float': '{: 0.3f}'.format})

def fake_image():
    image = np.zeros([100, 100, 1], dtype=np.uint8)
    rs = []
    thetas = []
    for _ in range(3):
        theta = np.random.uniform(0, np.pi/2)
        r = np.random.randint(30, 70)
        rs.append(r)
        thetas.append(np.rad2deg(theta))
        if theta > np.pi/4:
            x = np.arange(100)
            y = np.uint8((r - x*np.cos(theta)) / np.sin(theta)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值