2015-06-26 59 views
1

我遇到了一些問題來結合EXR。用PNG或其他任何東西,沒問題(用ImageMagick)。結合EXR圖像

我有4個圖像在相同的大小,應結合起來得到一個更大的圖像。每張圖片代表較大圖片的一部分(左上角,右上角,左下角和右下角)。每個圖像包含N層信息(顏色,深度等)。這些圖層必須在最終圖像中組合。

每個圖像都有這樣的簽名:

$ identify imput_tile_0001.exr 
imput_tile_0001.exr EXR 400x225 400x225+0+0 16-bit DirectClass 2.501MB 0.000u 0:00.000 

我嘗試像

$ convert +append *.exr out.exr 
$ montage *.exr -tile 2x2 -geometry +0+0 out.exr 

論文ImageMagick的簡單命令的命令返回一個全黑圖像,用正確的尺寸,只有1層。

我接受任何使用任何語言或任何軟件的解決方案,都在使用Debian。

編輯: 4個EXR瓷磚可以在這裏找到: https://www.dropbox.com/sh/p6h8kh5wlroy5bb/AACMuR8WieZ-SqB3qXHFwk_ea?dl=0 (這些都是 「imput_tile ... EXR」)。

有什麼想法?

+0

正常工作與'的ImageMagick 6.9.1-6 Q16 x86_64的2015-06-26' –

+0

我創建了'轉換-size 400x225 XC我輸入文件:紅a1.exr'和'轉換-size 400x225 XC :blue a2.exr'等 –

+0

我說說多層EXR @MarkSetchell。你的輸入只有1層。 – pierallard

回答

1

我不是專家(好吧,我從來沒有見過任何)EXR格式的圖像,但我知道vips是能夠處理它們。我什至不能告訴你的圖像是什麼樣子,但我想/希望這可能是你想做的。

首先,我檢查你的圖片,看看他們有4個頻段的400x225像素這樣

vips im_printdesc input_tile_0000.exr 
400x225 float, 4 bands, srgb, setbuf VipsImage (0x7fda0984f000) count=1 9600 bytes 
width: 400 
height: 225 
bands: 4 
format: 6 - float 
coding: 0 - none 
interpretation: 22 - srgb 
xoffset: 0 
yoffset: 0 
xres: 1.000000 
yres: 1.000000 
filename: "input_tile_0000.exr" 

然後我做了left-right join得到您想要的結果的最上面一行:

vips im_lrjoin *0.exr *1.exr top.v 

然後我再做一次left-right join以獲得所需結果的最下一行:

vips im_lrjoin *2.exr *3.exr bot.v 

然後我做了top-bottom join加入頂部和底部得到最終的結果是:

vips im_tbjoin top.v bot.v result.v 

如果我看它,它似乎有正確的尺寸和相同數量的波段和編碼爲原件:

vips im_printdesc result.v 
800x450 float, 4 bands, srgb, openin VipsImage (0x7f975b84d010) count=1 
width: 800 
height: 450 
bands: 4 
format: 6 - float 
coding: 0 - none 
interpretation: 22 - srgb 
xoffset: 0 
yoffset: 0 
xres: 1.000000 
yres: 1.000000 
filename: "result.v" 

  1. xyz.v格式是vips的內部,有效的圖像格式

  2. vips可與綁定許多語言 - 看到vips網站here

  3. 它可能是能夠緩存創建(top.vbot.v)中間文件,但我不知道

  4. vips維護者是如何在這樣@ user894763,他可能能夠投入更多點亮我的思緒 - 希望!

+0

嗨馬克!看起來很好。 vips8的方式是'vips join 0000.exr 0001.exr top.v horizo​​ntal',它會更快一點。 vips沒有exr寫入,你需要使用RAD或者PFM或者TIFF來輸出。如果你想避免創建兩個中間圖像,你需要使用Ruby/Python/Javascript /任何綁定。 – user894763

+0

@ user894763再次感謝您的輸入。缺少一個EXR作家可能會相當失敗這個特定練習的目的:-( –

+0

好的答案@MarkSetchell。似乎充滿了希望。我做了所有的操作(不管版本,我有vips7)。現在,我怎麼能打開這個「vips」格式?或者更好:如何將它翻譯成EXR? – pierallard