根据图像目标深度测试距离

clc;
clear;
close all;
warning off;
addpath 'func\'

%计算物体的深度距离

%===============================
 %计算左边图像的目标位置
%===============================
PL=imread('p1.jpg');
subplot(241),imshow(PL),title('左侧拍摄图像');
PL=rgb2gray(PL);
PL=255-PL;
PL1=im2bw(PL,0.8);
subplot(242),imshow(PL1),title('阈值分割图像');
se1=strel('rectangle',[5 5]);
PL2=imclose(PL1,se1);   %闭运算
se2=strel('rectangle',[5 5]);
PL3=imopen(PL2,se2);   %开运算
subplot(243),imshow(PL2),title('形态学处理');
imwrite(PL3,'PL3.bmp','bmp')
k=1;sum1=0;
for j=1:518        %计算目标一的像素突变点
    for i=1:388
        sum1=sum1+PL3(i,j);
        
    end
    k=k+1;
    P(k)=sum1/318;
    sum1=0;
end
x=1:518;
y=P(x);
subplot(244),plot(x,y),title('灰度变化图');
plot(x,y);
for i=2:518        %计算目标二的像素突变点
    if ((P(i-1)<0.01)&(P(i)>0.01)&(P(i)<0.16))
        Z(1)=i;
        continue
    end
    if ((P(i-1)<0.1)&(P(i)>0.16))
        Z(2)=i;
        continue
    end
end
%===============================
 %计算右边图像的目标位置
%===============================
PR=imread('p2.jpg');
subplot(245),imshow(PR);title('右侧拍摄图像');
PR=rgb2gray(PR);
PR=255-PR;
PR1=im2bw(PR,0.8);
subplot(246),imshow(PR1);title('阈值分割图像');
se1=strel('rectangle',[5 5]);
PR2=imclose(PR1,se1); 
se2=strel('rectangle',[5 5]);
PR3=imopen(PR2,se2); 
subplot(247),imshow(PR3),title('形态学处理');
k=1;sum2=0;
for j=1:518
    for i=1:388
        sum2=sum2+PR3(i,j);
        
    end
    k=k+1;
    Q(k)=sum2/318;
    sum2=0;
end
x=1:518;
y=Q(x);
subplot(248),plot(x,y),title('灰度变化图');
imwrite(y,'y2.bmp','bmp')
for i=2:518
    if ((Q(i-1)<0.01)&(Q(i)>0.05)&(Q(i)<0.16))
        S(1)=i;
        continue
    end
    if ((Q(i-1)<0.1)&(Q(i)>0.16))
        S(2)=i;
        continue
    end

end
disp('像素突变点:');D=Z-S    %z为目标一的像素突变点,s为目标二的像素突变点
disp('光轴间距离(单位mm):');B=41.5  %光轴间距离,单位mm
disp('相机焦距(单位mm):');f=6.3   %相机焦距,单位mm
disp('单位像素对应的实际长度(单位mm):');dx=0.013%单位像素对应的实际长度,单位mm
disp('目标一测得距离(单位mm):');D1=(f*B)/(dx*D(1)*5)%Z(1)为目标一测得距离,因为图像缩小了五倍,所以应除以5
disp('目标二测得距离(单位mm):');D2=(f*B)/(dx*D(2)*5)%Z(2)为目标二测得距离,因为图像缩小了五倍,所以应除以5


             

根据图像目标深度测试距离_第1张图片

D-59

你可能感兴趣的:(MATLAB,板块2:图像-特征提取处理)