为什么需要调整第一个图像的大小以融合两个图像?

已完成

我已经使用金字塔实现了图像融合。如果我调整第一个图像的大小,效果很好,但是如果我调整它的大小,我没有得到想要的东西。因此,我需要的是混合而不调整大小以获得正确的结果。我的代码是:

clc; close all; clear all

eyeImg = im2double(imread('eye.jpg'));
figure; imshow(eyeImg); title('Image 1');

handImg = im2double(imread('hand.jpg'));
figure; imshow(handImg); title('Image 2');

mask1 = im2double(imread('maskOrgan.jpg'));

eyeImage = imresize(eyeImg,[size(handImg,1) size(handImg,2)]);


figure; imshow(eyeImage); title('Image 1');
figure; imshow(handImg); title('Image 2');


figure; imshow(mask1); title('Mask 1');
mask2 = 1-mask1; %complement of the mask
figure; imshow(mask2); title('Mask 2');

level = 5;
lpA = genPyr(eyeImage,'laplace',level); % the Laplacian pyramid
lpB = genPyr(handImg,'laplace',level); % the Laplacian pyramid

gpM1 = genPyr(mask1, 'gauss', level);
gpM2 = genPyr(mask2, 'gauss', level);

limgo = cell(1,level); % the blended pyramid

for p = 1:level
    [Mp, Np, ~] = size(lpA{p});
    maskap = imresize(mask1,[Mp Np]);
    maskbp = imresize(mask2,[Mp Np]);
    limgo{p} = lpA{p}.*maskap + lpB{p}.*maskbp;
end
imgo = pyrReconstruct(limgo);
figure,imshow(imgo) % blend by pyramid

我使用这些输入图像:https : //imgur.com/a/j1HKZXg

请注意,如果不调整大小,则会出现以下错误。

Array dimensions must match for binary array op.

Error in main (line 35)
    limgo{p} = lpA{p}.*maskap + lpB{p}.*maskbp;
Bhamadicharef

如果您不希望调整大小,则必须进行“填充”,即将最小图像的尺寸增加到最大图像的尺寸,从而保持两个图像的原始比例。用零创建一个较大的图像,然后将最小的图像复制到其中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

图像需要根据第一个 div 图像调整一半大小

来自分类Dev

调整网页大小时,为什么第二个图像不位于第一个图像之下?

来自分类Dev

调整图像大小,需要一个好的库

来自分类Dev

与GPUImage融合:如何控制第二个图像在第一个图像之上的位置

来自分类Dev

为什么我的查询总是返回表中第一个图像的路径?

来自分类Dev

为什么我的应用程序中有两个UIWindows?为什么第一个隐藏了?

来自分类Dev

如何融合两个图像?

来自分类Dev

两个图像的多重融合动画

来自分类Dev

为什么当我一个接一个地执行两个mysqli查询时,我只能执行第一个查询?

来自分类Dev

为什么第一个 printf 不起作用而其他两个使用相同的结构?

来自分类Dev

两个从属数组,需要按第一个的元素排序

来自分类Dev

需要连接两个ffmpeg命令(第一个命令视频作为输入)

来自分类Dev

Matlab:如何融合或融合两个rgb图像?

来自分类Dev

html在两个调整大小的图像之间拟合文本

来自分类Dev

每个 div 显示两个内嵌图像并调整大小

来自分类Dev

PHP文件大小仅检查第一个图像

来自分类Dev

为什么在我为其分配的两个值(从第一个值开始)的顶部,将第一个数组的全部添加到第二个数组上?

来自分类Dev

定位第一个Div图像CSS

来自分类Dev

选择div的第一个图像作为数组

来自分类Dev

使用 ImageMagick 我需要将两个图像的一半拼接成一个新图像

来自分类Dev

Java多维数组-为什么仅定义第一个大小就足够了?

来自分类Dev

为什么数组的大小和指向第一个元素的指针不同?

来自分类Dev

为什么在多重继承的情况下QObject需要成为第一个

来自分类Dev

为什么`Polymer()`函数需要元素名称作为其第一个参数?

来自分类Dev

为什么.fit()需要2D数组作为第一个参数?

来自分类Dev

为什么需要擦除OpenBSD CRYPTO设备的第一个MByte?

来自分类Dev

当只需要第一个元素时,为什么要创建一个新轴?

来自分类Dev

如果我需要JS中第一个循环的结果,如何避免运行两个循环

来自分类Dev

如何在javaFX中融合两个图像

Related 相关文章

  1. 1

    图像需要根据第一个 div 图像调整一半大小

  2. 2

    调整网页大小时,为什么第二个图像不位于第一个图像之下?

  3. 3

    调整图像大小,需要一个好的库

  4. 4

    与GPUImage融合:如何控制第二个图像在第一个图像之上的位置

  5. 5

    为什么我的查询总是返回表中第一个图像的路径?

  6. 6

    为什么我的应用程序中有两个UIWindows?为什么第一个隐藏了?

  7. 7

    如何融合两个图像?

  8. 8

    两个图像的多重融合动画

  9. 9

    为什么当我一个接一个地执行两个mysqli查询时,我只能执行第一个查询?

  10. 10

    为什么第一个 printf 不起作用而其他两个使用相同的结构?

  11. 11

    两个从属数组,需要按第一个的元素排序

  12. 12

    需要连接两个ffmpeg命令(第一个命令视频作为输入)

  13. 13

    Matlab:如何融合或融合两个rgb图像?

  14. 14

    html在两个调整大小的图像之间拟合文本

  15. 15

    每个 div 显示两个内嵌图像并调整大小

  16. 16

    PHP文件大小仅检查第一个图像

  17. 17

    为什么在我为其分配的两个值(从第一个值开始)的顶部,将第一个数组的全部添加到第二个数组上?

  18. 18

    定位第一个Div图像CSS

  19. 19

    选择div的第一个图像作为数组

  20. 20

    使用 ImageMagick 我需要将两个图像的一半拼接成一个新图像

  21. 21

    Java多维数组-为什么仅定义第一个大小就足够了?

  22. 22

    为什么数组的大小和指向第一个元素的指针不同?

  23. 23

    为什么在多重继承的情况下QObject需要成为第一个

  24. 24

    为什么`Polymer()`函数需要元素名称作为其第一个参数?

  25. 25

    为什么.fit()需要2D数组作为第一个参数?

  26. 26

    为什么需要擦除OpenBSD CRYPTO设备的第一个MByte?

  27. 27

    当只需要第一个元素时,为什么要创建一个新轴?

  28. 28

    如果我需要JS中第一个循环的结果,如何避免运行两个循环

  29. 29

    如何在javaFX中融合两个图像

热门标签

归档