rawファイルを開くためのrawpy Pythonライブラリがあることは知っていますが、ピクセルデータを変更するにはrawから元のデータをデモザイクする必要があります。誰もがのファイルをBGGRとしてエンコードされたカラーチャンネルを交換するソリューションを提供できますか?ありがとう!rawファイル(BGGR - > RGGB)のスワップカラーチャンネル
EDIT1:私は今、できる仕事をしていませんが、代わりに生のTIFF形式として保存します(2.7)スクリプトのpythonを持っています。
import rawpy
import imageio
path = 'xxxx.raw'
raw = rawpy.imread(path)
rgb = raw.postprocess()
for x in rgb:
for y in x:
temp = y[0]
y[0] = y[2]
y[2] = temp
raw.raw_image
imageio.imsave('default.tiff', rgb)
基本的に質問は、私は戻って生形式に画像を保存することができる方法ですか? tiffからraw lossyへの変換ですか?
さらに、RAWファイルをデモザイクしないで、バイト(SBGGR8〜SRGGB8)をスワップする方法はありますか?この方法ではデータの損失の問題はないようです。
Edit2:ここで、チャンネルをロスレスでスワップできる、生のメタデータプロセスのMATLABコードです。しかし、MATLABはフリーソフトウェアではありません。私はPythonバージョンを探しています。私はPythonファイルプロセスの専門家ではないので、誰かが私のスクリプトを教えてくれますか?
row = 640; col = 480;
fin = fopen('original.raw','r');
input = fread(fin,row*col,'uint8=>uint8');
output = reshape(input,row,col);
for y = 1:2:639
for x = 1:2:479
temp = output(y,x);
output(y,x) = output(y+1, x+1);
output(y+1, x+1) = temp;
end
end
fout = fopen('swapped.raw', 'w');
fwrite(fout,output);
fclose(fin);
fclose(fout);
最初にやり直してみませんか? – Marichyasana