资源简介
圆拟合matlab程序,以及圆心 半径的确定

代码片段和文件信息
%---------------------------------------------%
% %
% 工作室提供代做matlab仿真 %
% %
% 详情请访问:http://cn.mikecrm.com/DeOOXFc %
% %
%---------------------------------------------%
function canny
clear;clc
I = imread(‘16576.jpg‘);
C=rgb2gray(I);
se=strel(‘disk‘17);
K=imerode(Cse);
O=medfilt2(K[10 10]);
figure(5)
imshow(K)
BW = canny_edge(O10);
figure(7)
imshow(BW)
r=I(::1);
g=I(::2);
b=I(::3);
bw=imfill(BW‘hole‘);
%figure
%imshow(bw)
se=strel(‘disk‘4);
bw=bwmorph(bw‘spur‘);
bw=bwmorph(bw‘clean‘inf);
bw=imdilate(bwse);
bw=imfill(bw‘hole‘);
%figure(4)
%imshow(bw)
bw=imerode(bwse);
L=bwperim(bw4);
r(L)=0;
g(L)=255;
b(L)=0;
figure(3)
imshow(cat(3rgb));
hold on
[xy]=find(L==1);
D=[xy];
[xy]
k=sort(y);
m=size(x1);
n=size(y1);
temp=k(n-901);
j1=0;
for i=1:n
if(y(i1)>=temp)
D(i:)=0;
j1=j1+1;
n=n-1;
else
continue
end
end
x=D(:1);
y=D(:2);
x1=sum(x)/n;
x2=sum(x‘*x)/n;
x3=sum(x‘*diag(x*x‘))/n;
y1=sum(y)/n;
y2=sum(y‘*y)/n;
y3=sum(y‘*diag(y*y‘))/n;
xy=sum(x‘*y)/n;
xy1=sum(y‘*diag(x*x‘))/n;
xy2=sum(x‘*diag(y*y‘))/n;
h=y1*y1-y2;
i=x1*x1-x2;
j=x1*y1-xy;
u=x2*x1+x1*y2-x3-xy2;
v=y2*y1+y1*x2-y3-xy1;
w=i*h+j*j;
b=(u*h+v*j)/(2*w);
a=(v*i-u*j)/(2*w);
r=sqrt(b*b-2*x1*b+x2+a*a-2*y1*a+y2);
t=linspace(-pipi);
x=sin(t)‘*r+a;
y=cos(t)‘*r+b;
a
b
r
plot(xy‘w-‘);
plot(ab‘o-‘)
%axis on
%figure(2)
%imshow(BW)
% Canny边缘检测的函数
% Input:
% a: input image
% sigma: Gaussian的均方差
function e=canny_edge(asigma)
a = double(a); % 将图像像素数据转换为double类型
[mn] = size(a);
e = repmat(logical(uint8(0))mn); % 生成初始矩阵
OffGate = 0.0001;
%Perc = 0.7;
Th = 1.1;
pw = 1:30; % hardcoding. But it‘s large enough if sigma isn‘t too large
sig2 = sigma * sigma; % 方差
width = find(exp(-(pw.*pw)/(2*sig2)) > OffGate 1 ‘last‘ ); % 寻找截断点
t = (-width:width);
%len = 2*width+1;
%t3=[t-0.5;t;t+0.5];
dgau = (-t.*exp(-(t.*t)/(2*sig2))/sig2).‘; % 一阶高斯函数的导数
%ra = size(a1); % 图像行数
%ca = size(a2); % 图像列数
ay = 255*a;
ax = 255*a‘;
ax = conv2(axdgau‘same‘).‘; % 高斯平滑滤
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-08-19 14:24 圆拟合matlab程序,以及圆心 半径的确定\
文件 5252 2019-08-19 14:53 圆拟合matlab程序,以及圆心 半径的确定\canny.m
- 上一篇:8916_msimage.mbn
- 下一篇:MATLAB控制工程工具箱技术手册
相关资源
- 串行级联cpm系统MATLAB仿真
- 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实现的多站定位系统性能仿真
评论
共有 条评论