📄 example57_1.m
字号:
figure('name','简单的形状识别','numbertitle','off');
clc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=imread('example57Re1.bmp');
p=rgb2gray(a);
for i=1:128
for j=1:128
if p(i,j)>130
p(i,j)=0;
else
p(i,j)=1;
end
end
end
p=double(p);
k=mat2gray(p);
d=hough(k,128,128);
b=d;
u=mat2gray(d);
%z=reshape(u,1024,1)
for i=1:size(b)
for j=1:size(b)
if b(i,j)<=47
b(i,j)=0;
else
b(i,j)=b(i,j);
end
end
end
subplot(2,4,1),imshow(a),title('a')
subplot(2,4,2),imshow(p),title('b')
subplot(2,4,3),imshow(u),title('c')
for j=1:128
v(j)=0;
end
for r=1:128
for s=1:128
v(r)=b(s,r)+v(r);
end
end
x=1:128;
y=v(x);
y1=[v(1);v(2);v(3);v(4);v(5);v(6);v(7);v(8);v(9);v(10);...
v(11);v(12);v(13);v(14);v(15);v(16);v(17);v(18);v(19);v(20);...
v(21);v(22);v(23);v(24); v(25);v(26);v(27);v(28);v(29);v(30);...
v(31);v(32);v(33);v(34); v(35);v(36);v(37);v(38);v(39);v(40);...
v(41);v(42);v(43);v(44);v(45);v(46);v(47);v(48);v(49);v(50);...
v(51);v(52);v(53);v(54);v(55);v(56);v(57);v(58);v(59);v(60);...
v(61);v(62);v(63);v(64);v(65);v(66);v(67);v(68);v(69);v(70);...
v(71);v(72);v(73);v(74);v(75);v(76);v(77);v(78);v(79);v(80);...
v(81);v(82);v(83);v(84);v(85);v(86);v(87);v(88);v(89);v(90);...
v(91);v(92);v(93);v(94);v(95);v(96);v(97);v(98);v(99);v(100);...
v(101);v(102);v(103);v(104);v(105);v(106);v(107);v(108);v(109);v(110);...
v(111);v(112);v(113);v(114);v(115);v(116);v(117);v(118);v(119);v(120);...
v(121);v(122);v(123);v(124);v(125);v(126);v(127);v(128)];
for i=1:128
if y1(i)<120
y1(i)=-1;
else
y1(i)=1;
end
end
subplot(2,4,4),plot(x,y1),title('d')
y1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ta= [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 131 ...
195 130 63 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 58 128 138 135 115 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 55 119 186 181 117 0 0 0 0 0 0 0 0 0 0]';
for i=1:128
if Ta(i)<120
Ta(i)=-1;
else
Ta(i)=1;
end
end
Tb= [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 128 0 0 0 0 0 0 0]';
for i=1:128
if Tb(i)<120
Tb(i)=-1;
else
Tb(i)=1;
end
end
Tc=[129 126 123 124 147 148 149 49 24 26 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 72 84 143 158 169 173 ...
199 172 169 156 142 105 74 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 26 25 25 126 149 170 174 173 ...
191 199 177 156 53 53 51 27 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 170 151 174 190 ...
204 211 149 174 170 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]';
for i=1:128
if Tc(i)<120
Tc(i)=-1;
else
Tc(i)=1;
end
end
T=[Ta Tb Tc];
size(T)
[w,b]=solvehop(T);
w;
b;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Q=simuhop(y1,w,b,20);
subplot(2,4,5),plot(Ta,'r'),title('e');
subplot(2,4,6),plot(Tb,'r'), title('f')
subplot(2,4,7),plot(Tc,'r'),title('g')
subplot(2,4,8),plot(Q),title('h')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -