资源简介
圆拟合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控制工程工具箱技术手册
相关资源
- MATLAB控制工程工具箱技术手册
- stlwritematlab程序
- 系数绝对值最大 图像融合MATLAB算法
- 用MATLAB-DFT2D DCT2D
- Matlab delta机器人的空间仿真程式
- 扑克牌数字花色识别Matlab
- MATLAB多聚焦图像融合将两张到六张不
- sutton强化学习随书MATLAB代码
- ROC曲线 matlab实现
- 无控纵向导弹弹道计算
- 层次分析法的matlab程序
- MATLAB烟花算法源代码
- OFDM通信系统matlab实现
- MATLAB的S-Function编写指导
- matlab实现对两幅图像的叠加
- 织物密度测量MATLAB实现
- pca源码matlab
- lvq学习算法源码matlab
- FBMC OQAM matlab code
- 基于matlab的判决反馈的均衡器
- 泊松过程的模拟及检验 matlab程序
- 小卫星多普勒频偏MATLAB仿真程序及参
- MATLAB R2007基础教程刘慧颖 编著--源代
- EMD 算法MATLAB 程序
- 基于颜色的聚类分割matlab
- MATLAB电机仿真精华50例
- MATLAB电机仿真精华50例PDF+源码
- 基于Matlab的OFDM系统仿真的设计
- 用于研究非线性系统matlab模块
- 世上最牛的23个图像跟踪算法MATLAB程序
评论
共有 条评论