考虑两幅图像。这两个图像的大小可以是任何东西。将这两个图像的大小相同。开发一种算法来混合这两个图像,使得交替像素来自两个图像课程。它是两幅图像的融合。例如,像素1是图像1,像素2来自图像2,像素3来自图像1,依此类推......matlab中两幅图像的融合
-3
A
回答
1
我知道你更喜欢使用Matlab,但直到有人给你一个Matlab的答案,你可能会喜欢玩ImageMagick,它可以为你做到这一点,无论如何在大多数Linux发行版中,并且可以在Windows和Mac OSX上免费获得。
首先,让我们来创建不同大小的2个图像和颜色:
convert -size 300x300 xc:blue image1.png
convert -size 200x400 xc:red image2.png
基本上,您可以通过指定后,方括号中的图像大小读他们可以将图像调整文件名,所以我任意选择将这两个图像的大小调整为256x256像素。然后,我使用极其强大fx
操作者,所以检测如果我处理一个奇数或偶数编号的像素,并选择任一从第一或相应地第二图像:
convert image1.png[256x256] image2.png[256x256] -fx "i%2?u:v" out.png
0
这里是一个用MATLAB来做到这一点。
clear
clc
%// Initialize red and blueimages
RedImage = zeros(300,300,3,'uint8');
BlueImage = zeros(200,400,3,'uint8');
%// Color them
RedImage(:,:,1) = 255;
BlueImage(:,:,3) = 255;
figure('Color',[1 1 1]);
%// Show them
subplot(1,2,1)
imshow(RedImage)
subplot(1,2,2)
imshow(BlueImage)
它看起来像这样:
%// Resize them to same size
RedImage = imresize(RedImage,[256 256]);
BlueImage = imresize(BlueImage,[256 256]);
%// Initialize new image
NewImage = zeros(256,256,3,'uint8');
%// Assign alternate pixels to new images
NewImage(1:2:end,1:2:end,:) = RedImage(1:2:end,1:2:end,:);
NewImage(2:2:end,2:2:end,:) = BlueImage(2:2:end,2:2:end,:);
figure
imshow(NewImage)
它输出这样的:
它看起来暗,但调整的数字会告诉你,它的工作原理确实!
希望有帮助!玩的开心。
相关问题
- 1. Matlab:如何融合或融合两个RGB图像?
- 2. 通过Opencv混合两幅图像
- 3. 将图像融合到图像中
- 4. 计算matlab中两幅图像的协方差
- 5. 两幅图像的图像比较
- 6. 比较两幅图像
- 7. 将两幅图像合并为单幅图像,然后顶部图像在ios sdk中变大
- 8. 如何计算两幅图像在Opencv中的联合熵
- 9. 使用matlab对两幅图像进行颜色比较
- 10. 找到两幅图像重叠区域与MATLAB
- 11. ASP.Net中的融合图表
- 12. iphone中的融合图表
- 13. 选择阈值来计算matlab中两幅图像之间的相似度
- 14. 两幅图像之间的动画
- 15. Matlab中的Equivolume金融图表
- 16. Matlab适合图形图像
- 17. 在matlab中融合超过2张图片
- 18. 在适合调整大小的两幅图像之间的html拟合文本
- 19. 绘制matlab中彩色图像的梯度幅度
- 20. PHP融合两个阵列
- 21. Android中的全幅图像
- 22. 另一幅图像上的图像映射:如何在matlab中完成?
- 23. 多幅图像
- 24. 在浏览器中缩放圆形图像 - 适用于一幅图像,不适合2幅图像
- 25. 如何在MATLAB中创建梯度幅度图像
- 26. 融合图表 - 折线图
- 27. 融合表地图视图
- 28. 合并两个图像(一幅图像是无面透明的,第二图像是从SD卡来唯一面)
- 29. 合并不同尺寸的两幅图像,在较小的图像中留下黑色
- 30. 在matlab中结合了两个图像(contourf改变了图的范围)
你为什么要这么做? – 2014-12-09 12:11:48