我使用Julia,PyPlot和Images来处理一些图片。因为显示几十个图是不可能的,我想堆叠图像,如下所示。
我已将Array{Array{Float64, 2}, 1}
中的图片数据标准化了。
以下代码仅显示最后的最小图像。数组从最大到最小的图片排序。
for i = 1:size(P, 1)
imshow(P[i], "gray", interpolation = "none")
end
我想达到以下效果:
答案 0 :(得分:4)
以下是Plots的解决方案:
答案 1 :(得分:2)
这是两种方法。
1。快速但不灵活的subplot
一个:
# create test image
using PyPlot, TestImages
img = testimage("cameraman");
img = [convert(Float64, i.val) for i in img[:,:]]';
# plot in desired positions
subplot(1,2,1); imshow(img); axis("off");
subplot(2,4,3); imshow(img); axis("off");
subplot(4,8,7); imshow(img); axis("off");
subplot(8,16,15); imshow(img); axis("off");
subplot(16,32,31); imshow(img); axis("off"); # ... etc
2. 手动指定轴定位:
# using same image as above
figure();
axes(position=[0,0,0.5,1]); imshow(img); axis("off");
axes(position=[0.5,0.5,0.25,0.5]); imshow(img); axis("off");
axes(position=[0.75,0.75,0.125,0.25]); imshow(img); axis("off");
axes(position=[0.875,0.875,0.0625,0.125]); imshow(img); axis("off"); # ... etc
答案 2 :(得分:1)
我要做的是通过连接所有其他图像的数组来创建单个数组,并填充您希望空白空间为零(或任何其他数字)的位置?
fullimage = cat(1, arrayofarrays...)
imshow(fullimage)
(抱歉,我在手机上,所以不能为你提供一个有效的例子!)