• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-20
  • 语言: Matlab
  • 标签: MATLAB  霍夫圆  

资源简介

MATLAB中典型的霍夫变换检测圆,经典的案例

资源截图

代码片段和文件信息

function [hough_spacehough_circlepara] = hough_circle(BWstep_rstep_angler_minr_maxp)

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% input
% BW:二值图像;
% step_r:检测的圆半径步长
% step_angle:角度步长,单位为弧度
% r_min:最小圆半径
% r_max:最大圆半径
% p:阈值,0,1之间的数 通过调此值可以得到图中圆的圆心和半径
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% output
% hough_space:参数空间,h(abr)表示圆心在(ab)半径为r的圆上的点数
% hough_circl:二值图像,检测到的圆
% para:检测到的圆的圆心、半径

circleParaXYR=[];
para=[];

[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)对应到参数空间(abr)

% a = x-r*cos(angle)
% b = y-r*sin(angle)

for i=1:ecount
    for

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3678  2015-02-13 15:15  hough_circle.m

评论

共有 条评论