matlab图像处理小结.doc
文本预览下载声明
function?[center,?r]?=?solve_circle(pt1,?pt2,?pt3)??
%Effect:?solve?the?circle?which?across?points?pt1,?pt2?and?pt3??
%Inputs:??
%pt1,?pt2,?pt3:?[x,?y]??
%center:?the?circle?center?[x0;?y0]??
%r:?the?radius?of?the?circle??
%Author:?Su?dongcai?at?2012/1/2??
A?=?zeros(2,?2);?B?=?zeros(2,?1);??
[A(1,?:),?B(1)]?=?circle2line(pt1,?pt2);??
[A(2,?:),?B(2)]?=?circle2line(pt2,?pt3);??
center?=?A\B;??
r?=?norm(pt1?-?center);??
??
function?[A,?B]?=?circle2line(pt1,?pt2)??
%Effect:?cast?2?circles?equation?into?1?linear?equation:??
%(a-x1)^2?+?(b-y1)^2?=?r^2?|??
%?|==?2(x1-x2)a?+?2(y1-y2)b?=?(x1^2?+?y1^2)?-?(y2^2?+?y2^2)??
%(a-x2)^2?+?(b-y2)^2?=?r^2?|??
%Inputs:??
%pt1,?pt2:?[x1,?y1],?[x2,?y2]??
%Outputs:??
%A:?2[x1-x2,?y1-y2]??
%B:?(x1^2?+?y1^2)?-?(x2^2?+?y2^2)??
%Author:?Su?dongcai?at?2012/1/2??
A?=?2*(pt1?-?pt2);??
B?=?norm(pt1)^2?-?norm(pt2)^2;?
close all;clear;clc; i=imread(rice.png);% imshow(i); background=imopen(i,strel(disk,15)); i2=imsubtract(i,background);% figure,imshow(i2); i3=imadjust(i2,stretchlim(i2),[0 1]);% figure,imshow(i3); level=graythresh(i3); bw=im2bw(i3,level);% figure,imshow(bw); [labeled,numobjects]=bwlabel(bw,4);graindata=regionprops(labeled,all);
close all;clear;clc;i=imread(rice.png);background=imopen(i,strel(disk,15));i2=imsubtract(i,background);i3=imadjust(i2,stretchlim(i2),[0 1]);level=graythresh(i3);bw=im2bw(i3,level);[labeled,numobjects]=bwlabel(bw,4);data=regionprops(labeled,all);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2006.6.2close all;clear;clc; i=imread(r.jpg);% figure,imshow(i); imgray=rgb2gray(i); figure,imshow(imgray) background=imopen(imgray,strel(disk,15)); i2=imsubtract(imgray,background);% figure,imshow(i2); i3=imadjust(i2,stretchlim(i2),[0 1]);% figure,imshow(i3); level=graythresh(i3); bw=im2bw(i3,level);% figure,imshow(bw); imnobord=imclearborder(bw,4);% figure,imshow(imnobord); [labeled,numobjects]=bwlabel(bw,4); rgb_label=label2rgb(labeled,@spring,c,shuffle); figure,imshow(
显示全部