image and video processing听课笔记(四)

本章主要讲解最基本的图像分割算法


Hough transform霍夫变换

算法流程:读入图片,边缘检测,创建累加器,找到累加器中的最大值,将曲线画回原图片


首先从检测直线来理解,平面直线的表达式


row是直线到原点的距离,thetax轴到过原点垂线逆时针方向夹角,直线上的所有点都满足上述表达式。而每一个点(x,y)都可以有无限多条直线(rowtheta)与之对应,就看做这些直线(row,theta)得到点(x,y)的一次投票。


同理,通过另一个点也有无数条直线(row,theta)与之对应,这些线同样得到该点的一次投票。此时有且仅有一条直线会同时得到来自上述两点的投票。继续检测其他点(这些点应该具有一些相同属性,比如相同灰度值),对通过每个点的直线投票,那么目标直线就是累计得票最多的(row,theta),上限是取点数。

现在把这个过程转换到rowtheta的坐标上理解微笑

平面上固定的点(x,y),取遍theta可以得到不同的row,这些(row,theta)在坐标上描出形如sin函数的图,同理每个点都可以得到一个这样的类似sin函数的图,每个(row,theta)可以用一个累加器来记录函数通过它的次数(得票数),次数越多的就越可能是目标直线。



下列程序调用MATLAB的库函数来实现hough变换寻找直线段。


如何检测圆?惊讶

平面圆上的每个点都满足如下方程,(x0,y0)是圆心坐标,r是圆半径


和直线检测类似,每个点(x,y)对通过它的圆(x0,y0,r)投票,票数最多的就是目标圆了,对应的应该是3维坐标


hough变换一边用于检测简单的曲线,比如直线,圆,椭圆,因为他们的表达式中参数有限且范围固定,所以计算效率较高,占用空间也不会很大。下一章将会和大家分享otsu算法的学习心得。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值