课堂作业一,使用matlab,测量螺母边长
##代码如下
clear all;close all; clc;
%%
I=imread('159.png');%读取图片
Ig=rgb2gray(I);%对图片进行灰度处理
%%
C = corner(Ig);% 当期望角点的最大数目为默认设置值200时,显示角点。
imshow(I);
hold on
plot(C(:,1), C(:,2), '.', 'Color', 'g')%显示角点
title('Maximum Corners = 200')%标题
%%
for i=1:6,
text(C(i,1),C(i,2),num2str(i),'Color','r');
%显示每个点的顺序,num2str把数值转换成字符串,test在图像上添加文字信息
end
%%
b=1;
x=[1,3,2,6,4,5,1];%根据图像中显示标记,依次写出点
distance=[0,0,0,0,0,0];%设置一个初始距离
for i=1:6,
distance(i)=norm(C(x(i),:)-C(x(i+1),:)); %距离,norm是求范数的,这里我不懂
%在图上显示距离
text((C(x(i),1)+C(x(i+1),1))/2-20,(C(x(i),2)+C(x(i+1),2))/2,num2str(distance(i)),'Color',[0,0,1]);
end
以上是第一次的作业,实际结果感觉不太对,比如5号点的选取,感觉有问题,但我还不会修改。