我有很多图像,不同的大小和宽高比。是否有可能对它们进行蒙太奇?我的意思是在为构建公共行的图像设置公共高度后,将它们最佳地排列成行。当然,不允许图像宽高比进行修改,并且不允许任何图像从最终剪辑中删除,也不允许复制。
蒙太奇中图片行的高度通常不相等,但它们的值应保持在最小范围内(统计意义上)或换言之:必须最小化与行高度平均值的标准偏差。
蒙太奇的所需宽度和高度给出(a。)
或者给出宽度和允许的比率范围(或等效的高度范围)(b。),例如宽度必须是1024像素,高度必须使得w / h <1。 0.9和w / h> 0.8
1。)图像必须按照初始固定顺序打包在蒙太奇中。在这种情况下,必须在蒙太奇(简单)中开始新图像行之后找到图像。
2。)允许更改图像顺序。在这种情况下,必须找到一种排列,当每个图像被打包到蒙太奇(硬)中时,这导致最终行高的标准偏差的最小化。
例如:
答案 0 :(得分:5)
我不确定我是否理解你的问题。
这是我对它的看法。假设你有8个不同大小的不同图像。出于演示目的,我将让ImageMagick将它们创建为8种不同的色块:
convert -size 90x90 xc:yellow y.png
convert -size 120x120 xc:red r.png
convert -size 60x210 xc:green g.png
convert -size 150x180 xc:blue b.png
convert -size 30x60 xc:cyan c.png
convert -size 150x90 xc:magenta m.png
convert -size 90x120 xc:gray Gr.png
convert -size 120x90 xc:black K.png
您可以通过多种方式修剪这些补丁:
convert \( y.png r.png g.png b.png +append \) \
\( c.png m.png Gr.png K.png +append \) \
-append \
-mattecolor lightblue \
-frame 1x1 \
montage0.png
此命令不会缩放不同的修补程序。它将它们分成两行,一个4个补丁,然后以原始大小对它们进行剪辑。白色空间是补丁不适合的地方:
convert \( y.png r.png g.png b.png -resize x60 +append \) \
\( c.png m.png Gr.png K.png -resize x60 +append \) \
-append \
-mattecolor lightblue \
-frame 1x1 \
montage1.png
此命令将所有不同的色块缩放到60像素的公共高度(保留各自的宽高比),并将它们分为2行,每4个色块:
convert \( y.png r.png g.png b.png -resize 60x +append \) \
\( c.png m.png Gr.png K.png -resize 60x +append \) \
-append \
-mattecolor lightblue \
-frame 1x1 \
montage2.png
此命令将所有不同的色块缩放到60像素的公共宽度(保留各自的宽高比),并将它们分为2行,每4个色块:
convert \( y.png r.png g.png b.png -resize 60x80\! +append \) \
\( c.png m.png Gr.png K.png -resize 60x80\! +append \) \
-append \
-mattecolor lightblue \
-frame 1x1 \
montage3.png
此命令将所有不同的色块缩放为60x80像素的尺寸(覆盖其原始宽高比),并将它们分为2行,每4个色块: