资源简介
霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。最基本的霍夫变换是从黑白图像中检测直线(线段)。
代码片段和文件信息
function [hough_spacehough_circlepara] = hough_circle(BWstep_rstep_angler_minr_maxp);
%[HOUGH_SPACEHOUGH_CIRCLEPARA] = HOUGH_CIRCLE(BWSTEP_RSTEP_ANGLER_MAXP)
%------------------------------算法概述-----------------------------
% 该算法通过a = x-r*cos(angle),b = y-r*sin(angle)将圆图像中的边缘点
% 映射到参数空间(abr)中,由于是数字图像且采取极坐标,angle和r都取
% 一定的范围和步长,这样通过两重循环(angle循环和r循环)即可将原图像
% 空间的点映射到参数空间中,再在参数空间(即一个由许多小立方体组成的
% 大立方体)中寻找圆心,然后求出半径坐标。
%-------------------------------------------------------------------
%------------------------------输入参数-----------------------------
% BW:二值图像;
% step_r:检测的圆半径步长
% step_angle:角度步长,单位为弧度
% r_min:最小圆半径
% r_max:最大圆半径
% p:以p*hough_space的最大值为阈值,p取0,1之间的数
%-------------------------------------------------------------------
%------------------------------输出参数-----------------------------
% hough_space:参数空间,h(abr)表示圆心在(ab)半径为r的圆上的点数
% hough_circl:二值图像,检测到的圆
% para:检测到的圆的圆心、半径
%-------------------------------------------------------------------
% From InternetModified by mhjerry2011-12-11
[mn] = size(BW);
size_r = round((r_max-r_min)/step_r)+1;
size_angle = round(2*pi/step_angle);
hough_space = zeros(mnsize_r);
[rowscols] = find(BW);
ecount = size(rows);
% Hough变换
% 将图像空间(xy
相关资源
- 虹膜识别+源代码+matlab+霍夫变换+hou
- 虹膜识别+源代码+matlab+霍夫变换+hou
- 霍夫变换MATLAB程序代码
- 霍夫变换圆检测标准MATLAB
- 霍夫变换检测正弦曲线
- 霍夫变换圆检测MATLAB程序
- 图像分割的多种算法MATLAB代码
- 霍夫变换 检测直线 matlab
- 广义霍夫变换的MATLAB源码
- 广义霍夫变换 GHT matlab代码
- matlab 图像校正
- 自编霍夫变换实现直线检测
- 文档图像倾斜校正Matlab:霍夫变换原
- 图像的检测消失点
- 椭圆霍夫变换matlab代码检测二值图像
- 典型的霍夫变换检测圆
- 霍夫变换圆检测的MATLAB程序
- random-hough-transform 利用随机霍夫变换进
- chapter9 图像分割
- GHT 自己编写的广义霍夫变换
- 基于matlab的霍夫变换处理案例
评论
共有 条评论