资源简介
hough变换检测多个圆的matlab程序。就是对内存要求大点

代码片段和文件信息
function [Accumulator xdim ydim] = houghcircle2(Imbinaryr)
% Fast implementation of Circular HOUGH-Transform
%
% parameters:
% Imbinary ... a binary image (after applying an edge-detection algorithm)
% r ... the radius of circle to detect within the image
% Accumulator ... result of the HOUGH-Transform - an image where all circles are accumulated
% the image is 2*r larger than the input image
% xdim ydim ... dimensions of the Accumulator image
xdim = size(Imbinary 2) + ceil(2*r);
ydim = size(Imbinary 1) + ceil(2*r);
[circle_x circle_y] = circle(r r r);
[edge_y edge_x] = find(Imbinary);
clear Imbinary;
circlepoints = length(circle_x);
edgepoints = length(edge_x);
points = zeros((circlepoints*edgepoints)1);
pos = 1;
points = (ones(size(edge_x))*round(circle_x) + round(edge_x)*ones(size(circle_x))) * ydim + ...
(ones(size(edge_y))*round(circle_y) + round(edge_y)*ones(size(circle_y)));
clear circle_x;
clear circle_y;
clear edge_x;
clear edge_y;
points = reshape(points 1 (size(points1) * size(points2)));
Accumulator = histc(points (0:1:(max(points(:)))));
clear points;
Accumulator(1) = 0; % delete counts from zeros
if (length(Accumulator) < (xdim*ydim))
Accumulator = [Accumulator zeros(1 (xdim*ydim)-length(Accumulator))];
end;
Accumulator = reshape(Accumulator(1:(xdim*ydim)) ydim xdim);
function [xy] = circle(center_x center_y radius)
% returns a vector with all circle-corner points containing the correct number of points
numpoints = ceil(2*radius*pi);
theta = linspace(02*pi numpoints);
rho = ones(1numpoints) * radius;
[xy] = pol2cart(theta rho);
x = x+center_x;
y = y+center_y;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1711 2004-11-18 23:22 houghcircle2.m
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论