matlab从A中取出与B同样大小的子图像代码
时间: 2024-01-24 13:05:06 浏览: 23
下面是使用 MATLAB 实现从图像 A 中取出与图像 B 同样大小的子图像的代码:
```
% 读取原图像 A 和水印图像 B
A = imread('image_A.png');
B = imread('image_B.png');
% 获取水印图像 B 的大小
[B_height, B_width, ~] = size(B);
% 获取从 A 中取出的子图像的左上角坐标
a = 50; % 子图像的左上角纵坐标
b = 150; % 子图像的左上角横坐标
% 获取从 A 中取出的子图像的大小
l = min(B_height, B_width); % 子图像的边长
subA = A(a:a+l-1, b:b+l-1, :); % 从 A 中取出的子图像
% 显示原图像和从 A 中取出的子图像
figure;
subplot(1, 2, 1);
imshow(A);
title('原图像');
subplot(1, 2, 2);
imshow(subA);
title('从 A 中取出的子图像');
```
上述代码中,我们使用 `imread` 函数读取原图像 A 和水印图像 B,使用 `size` 函数获取水印图像 B 的大小,然后设置从 A 中取出的子图像的左上角坐标 `a` 和 `b`,使用 `min` 函数获取从 A 中取出的子图像的边长 `l`,并使用取子矩阵的方法从 A 中取出子图像 `subA`。最后,我们使用 `subplot` 和 `imshow` 函数分别显示原图像和从 A 中取出的子图像。
需要注意的是,如果从 A 中取出的子图像的大小与水印图像 B 的大小不匹配,可能会在后续水印嵌入的过程中出现问题。因此,在实际应用中,需要根据水印图像的大小来确定从 A 中取出的子图像的大小。
相关推荐
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)