2

最近、乳がんの検出プロジェクトに取り組んでいます。画像ボックスにpgm画像をロードする必要がありますが、「パラメータが無効です」というエラーが表示されます。この理由は、以下のコードにあると思います。

 public Image byteArrayToImage(byte[] byteArrayIn)
        {

            Image returnImage;
            MemoryStream ms = new MemoryStream(byteArrayIn);           
            returnImage = Image.FromStream(ms);  //Error is in here.     
            return returnImage;
        }

また、データベースに0x53797374656D2E44726177696E672E4269746D6170としてこの形式で画像が保存されています。ヘッダーを削除し、画像を返すには画像のデータバイトのみを返す必要があることがわかったので、誰でも画像からヘッダーを削除するのを手伝ってくれます。画像バイトのみを返します。

4

2 に答える 2

1

データベースに 0x53797374656D2E44726177696E672E4269746D6170 として画像を保存しています

それはイメージではありません。これは文字列で、16 進数は "System.Drawing.Bitmap" にデコードされます。もちろん、これは .NET プログラマーにとって非常になじみ深いものです。イメージを dbase に書き込んだコードが壊れていることは明らかで、ビットマップの ToString() メソッドを使用していたようです。最初にそれを修正する必要があります。

X 線画像を 21 バイトに保存することはできません。

于 2012-05-14T12:16:25.687 に答える
0

http://netpbm.sourceforge.net/doc/pgm.htmlの形式については、こちらをご覧ください。また、そこに記載されているコンバーターのいずれかを入手し、その場で画像をサポートされている形式に変換することをお勧めします。

于 2012-05-14T10:56:30.203 に答える