2017-04-11 12 views
-1

iは、C#言語で画像にバイトをパックする画像
このコードのように(例えば、.EXEのための)バイナリファイルを可視化する必要があります
どのように画像のようなバイナリファイルをmatlabで可視化できますか?

var width = (int)Math.Sqrt(fi.Length * 8); 
width = width + 8 - (width % 8); 
var length = (int)(fi.Length * 8/width); 

Func<byte, int, Color> getcolor = 
     (b, m) => (b & m) == m ? Color.Black : Color.White; 

using (var bitmap = new Bitmap(width, length + 1)) 
{ 
    var buffer = File.ReadAllBytes(exefile); 

    int x = 0, y = 0; 
    foreach (var @byte in buffer) 
    { 
     bitmap.SetPixel(x + 0, y, getcolor(@byte, 0x80)); 
     bitmap.SetPixel(x + 1, y, getcolor(@byte, 0x40)); 
     bitmap.SetPixel(x + 2, y, getcolor(@byte, 0x20)); 
     bitmap.SetPixel(x + 3, y, getcolor(@byte, 0x10)); 

     bitmap.SetPixel(x + 4, y, getcolor(@byte, 0x8)); 
     bitmap.SetPixel(x + 5, y, getcolor(@byte, 0x4)); 
     bitmap.SetPixel(x + 6, y, getcolor(@byte, 0x2)); 
     bitmap.SetPixel(x + 7, y, getcolor(@byte, 0x1)); 

     x += 8; 
     if (x >= width) 
     { 
      x = 0; 
      y++; 
     } 
    } 

    bitmap.Save(Path.ChangeExtension(exefile, ".tif"), ImageFormat.Tiff); 
} 

このコードはこのようなイメージにバイナリファイルを変換します:
enter image description here

誰でも私にこのコードのMatlab実装を教えていただけますか? MATLABは何をしたいん機能bitgetを持つ

+0

バイナリファイルをアップロードできますか? –

+0

@JeruLuke https://www.file-upload.com/eztinwfv1700 – Tavakkoli

答えて

1

How can I convert a binary file to another binary representation, like an image

%。その後、すべてのビットを正方行列に入れる必要があります。

[f,d]=uigetfile('*.*'); 
fid=fopen([d,filesep,f],'r'); 
d = fread(fid,inf,'*uint8'); %load all data as bytes. 
fclose(fid); 
width = sqrt(length(d)*8); 
width = width+8-mod(width,8); %make sure width is a multiple of 8 
IM = false(width); %binary matrix 
x=1;y=1; 
for ct = 1:length(d) 
    v=bitget(d(ct),[1:8]); 
    IM(x:x+7,y)=v; 
    x=x+8; 
    if x>width 
     x=1;y=y+1; 
    end 
end 
imagesc(IM) %display image 
+0

それは仕事ですが、なぜ生成された画像がC#とmatlabでは異なるのですか? – Tavakkoli

+0

それは90度回転させることができますか? これを試してください: imagesc(IM ') – Gelliant

+0

背景とピクセルの色を変更する方法はありますか?画像の背景は黒く、ピクセルは白です。 – Tavakkoli

関連する問題