⛄一、Hough简介

霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体。该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集合作为霍夫变换结果。霍夫变换于1962年由Paul Hough 首次提出[53],后于1972年由Richard Duda和Peter Hart推广使用[54],经典霍夫变换用来检测图像中的直线,后来霍夫变换扩展到任意形状物体的识别,多为圆和椭圆。

霍夫变换运用两个坐标空间之间的变换将在一个空间中具有相同形状的曲线或直线映射到另一个坐标空间的一个点上形成峰值,从而把检测任意形状的问题转化为统计峰值问题,上一节中已经介绍了车道的直线特征,本节中介绍hough变换检测直线的原理和检测结果。

我们知道,一条直线在直角坐标系下可以用y=kx+b表示, 霍夫变换的主要思想是将该方程的参数和变量交换,即用x,y作为已知量k,b作为变量坐标,所以直角坐标系下的直线y=kx+b在参数空间表示为点(k,b),而一个点(x1,y1)在直角坐标系下表示为一条直线y1=x1·k+b,其中(k,b)是该直线上的任意点。为了计算方便,我们将参数空间的坐标表示为极坐标下的γ和θ。因为同一条直线上的点对应的(γ,θ)是相同的,因此可以先将图片进行边缘检测,然后对图像上每一个非零像素点,在参数坐标下变换为一条直线,那么在直角坐标下属于同一条直线的点便在参数空间形成多条直线并内交于一点。因此可用该原理进行直线检测。

如图 所示,对于原图内任一点(x,y)都可以在参数空间形成一条直线,以图中一条直线为例有参数(γ,θ)=(69.641,30°),所有属于同一条直线上的点会在参数空间交于一点,该点即为对应直线的参数。由该图中所有直线所得到的(γ,θ)在参数空间中得到一系列对应曲线见图 霍夫统计变换结果。

⛄二、部分源代码

clear all;
close all;
clc;
P= imread(‘时钟-2.jpg’); %2/5/8/11 没问题 7/10反 13图分针错 16图时针错

I = imresize(P,0.7); % 图像缩小70%
% figure(‘NumberTitle’, ‘off’, ‘Name’, ‘原图’);
% imshow(I);
% 去除背景
[m,n]=size(I);
for i=1:m
for j=1:n
if I(i,j)>100
I(i,j)=256;
end
end
end
imshow(I);

I1 = im2bw(I); %rgb转化为二值化图像
% figure(‘NumberTitle’, ‘off’, ‘Name’, ‘二值化后图像’);
% imshow(I1);

% I2 = edge(I1,‘canny’); %canny 算子提取边界
% figure(3)
% imshow(I2)

I20 = imcomplement(I1); %图像反色
% figure(‘NumberTitle’, ‘off’, ‘Name’, ‘反色后图像’);
imshow(I20);

I2 = bwmorph(I20,‘skel’,8); %提取图像骨架 6ci N=6、7、8、9都行 10图取3 11图取5
% figure(‘NumberTitle’, ‘off’, ‘Name’, ‘提取图像骨架’);
imshow(I2);

%检测直线
[H,T,R] = hough(I2);
figure(‘NumberTitle’, ‘off’, ‘Name’, ‘峰值提取效果’);
imshow(H,[],‘XData’,T,‘YData’,R, ‘InitialMagnification’,‘fit’);
xlabel(‘\theta’), ylabel(‘\rho’);
axis on, axis normal, hold on;
P = houghpeaks(H,5,‘threshold’,ceil(0.3*max(H(

【表盘识别】基于matlab Hough变换钟表表盘识别【含Matlab源码 1069期】相关推荐

  1. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  2. 【Matlab答题卡识别】hough变换答题卡判定与成绩统计【含GUI源码 752期】

    一.代码运行视频(哔哩哔哩) [Matlab答题卡识别]hough变换答题卡判定与成绩统计[含GUI源码 752期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  3. 【Matlab答题卡识别】hough变换答题卡判定与成绩统计(带面板)【含GUI源码 1017期】

    一.代码运行视频(哔哩哔哩) [Matlab答题卡识别]hough变换答题卡判定与成绩统计(带面板)[含GUI源码 1017期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 ...

  4. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  6. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  7. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  8. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  9. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

最新文章

  1. 2020 五大技术趋势:无人驾驶发展、机器视觉崛起、区块链实用化、人类增强技术、超自动化...
  2. WinCE CEDDK之Bus操作函数
  3. 能做存储的超级计算机——任宇翔和以色列团队的创业故事
  4. rails mysql查询_rails 对数据库的一些操作:新增,查询等
  5. python实现app自动签到器_Python实现自动签到脚本代码示例
  6. 【C#】开发可以可视化操作的windows服务
  7. pytorch梯度的自动求取
  8. MFC中MSChart控件安装使用
  9. 欧姆龙多PLC串行链接模式的应用
  10. A调用B方法,@Transactional事务失效情况
  11. 《大家来找茬》游戏辅助工具开发
  12. 王之泰/王志成《面向对象程序设计(java)》第十一周学习总结
  13. Android广告图片轮播,支持无限循环和设置轮播样式、切换时间等
  14. [附源码]计算机毕业设计JAVA校园征兵及退役复原管理系统
  15. Oracle语句(持续更新)
  16. 把kali linux 装进 U盘并实现数据可存储
  17. 凸显文化+科技融合创新,第九届漫博会VR AR技术应用强势来袭
  18. AT指令(中文详解版)二 [转载]
  19. 遥感图像的空间分辨率、光谱分辨率、时间分辨率的含义
  20. “Google chrome”,安卓和苹果版本,以及他的版本历史真是绚丽啊!

热门文章

  1. 抖店和抖音小程序有什么区别,旅游行业适合抖店还是抖音小程序?
  2. HTML中表格固定列锁定
  3. pve 不订阅更新_刺激战场:首个PVE模式年兽大作战,落地全是大菠萝,CF既视感!...
  4. JAVA中哈希表的使用-遍历map集合
  5. QToolPushButton 动态更换按钮图标
  6. 计算机网络实验smtp 邮件,smtp计算机网络实验报告.docx
  7. 常见的社群玩法盘点,你做的是哪一种?
  8. Linux 学会使用通配符
  9. QFile.readall();最多读取1G
  10. 语文版七年级25课诗五首选择性赏析练习