hlayumi的个人空间 https://blog.eetop.cn/hslogic [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

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

已有 5677 次阅读| 2021-11-24 23:16 |系统分类:芯片设计

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

————————————————

QQ截图20211124231538.png



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 5

    粉丝
  • 0

    好友
  • 1

    获赞
  • 16

    评论
  • 5260

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 21:00 , Processed in 0.010116 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部