MATLAB怎么重叠多张图片,并在重叠图片中心画十字线
时间: 2023-09-11 16:06:53 浏览: 167
您可以使用以下代码来将多张图片叠加,并在中心绘制十字线:
``` matlab
% 读取图片并调整大小
img1 = imresize(imread('image1.jpg'), 0.5);
img2 = imresize(imread('image2.jpg'), 0.5);
% 计算每张图片的大小和位置
[h1, w1, ~] = size(img1);
[h2, w2, ~] = size(img2);
x1 = round((w2 - w1) / 2);
y1 = round((h2 - h1) / 2);
x2 = x1 + w1 - 1;
y2 = y1 + h1 - 1;
% 将两张图片叠加
img = zeros(h2, w2, 3);
img(y1:y2, x1:x2, :) = img1;
img(y1:y2, x1:x2, :) = img(y1:y2, x1:x2, :) + img2;
% 在图片中心绘制十字线
img(round(h2/2), :, :) = 255;
img(:, round(w2/2), :) = 255;
% 显示结果
imshow(uint8(img));
```
在这个例子中,我们假设有两张图片要叠加,分别为 `image1.jpg` 和 `image2.jpg`。我们使用 `imread` 函数读取图片,并使用 `imresize` 函数调整图片大小为原来的一半。然后,我们计算每张图片的大小和位置,使用 `zeros` 函数创建一张新的空白图片,并将两张图片叠加到新图片上。最后,在图片中心绘制十字线,并使用 `imshow` 函数显示结果。
阅读全文