这两个编程在MATLAB里的图像怎么同时在一幅图里显示,求详细过程。
答案:2 悬赏:60 手机版
解决时间 2021-02-12 21:28
- 提问者网友:心牵心
- 2021-02-12 01:32
这两个编程在MATLAB里的图像怎么同时在一幅图里显示,求详细过程。
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-02-12 02:18
你用subplot函数将一个figure分成4个区域,然后在每个区域正常作图就可以了
figure;
subplot(221)
%显示图片;
subplot(222)
%显示图片;
subplot(223)
%显示图片;
subplot(224)
%显示图片;
这样就可以了,这个电脑没有装matlab,要不然给你做个实例就更直观了
figure;
subplot(221)
%显示图片;
subplot(222)
%显示图片;
subplot(223)
%显示图片;
subplot(224)
%显示图片;
这样就可以了,这个电脑没有装matlab,要不然给你做个实例就更直观了
全部回答
- 1楼网友:酒者煙囻
- 2021-02-12 03:16
这个是扫描算法吧,试着做了一下,希望有所帮助。
clc; clear all; close all;
i = imread('rice.png');
i = im2bw(i, graythresh(i)); % 二值化
i = im2uint8(i);
[r, c] = size(i);
d = [];
for i = 1 : r
% 按行扫描边缘二值图像
ri = i(i, :);
if ~any(ri)
% 若该行像素点灰度值全为0,则检测下一行,否则执行下一步
continue;
end
for j = 1 : c-1
if ri(j) == 255
% 若检测到某像素点灰度值为255
s1 = [j, i];
if ri(j+1) == 255
% 则判断其右边像素点灰度值是否为255。若是,则跳过该行不检测
break;
else
% 否则,执行下一步。
% 已经检测到左边缘点的坐标,继续该行的检测,扫描右边缘点。
% 如果检测到,则计算两边缘点问的距离并保存,继续检测下一行;
% 否则直接继续检测下一行。
j = j + 1;
s2 = [j, i];
d = norm(s1-s2);
d = [d d];
break;
end
end
end
end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯