私のカメラは14ビットのグレースケール画像を提供しますが、APIの関数は画像データにlong*を返します。(したがって、各ピクセルに4バイトを想定しています)
私のアプリケーションはC++/ CLIで書かれており、pictureBoxは.NETタイプです。
私は現在BitmapData.LockBits()
、画像データへのポインタアクセスを取得するメカニズムを使用
memcpy(bmpData.Scan0.ToPointer(), imageData, sizeof(long)*height*width)
しており、画像データをビットマップにコピーするために使用しています。
現在、機能しているPixelFormatは32ビットRGBのみであり、画像は輪郭のある青の色合いで表示されます。
16bppGrayscaleとしてビットマップを初期化しようとしても機能しません。
理想的には、配列をロングからワードにキャストし、16ビット形式を使用したいと思います(14ビットデータが正しく表示されることを期待しています)が、これが機能するかどうかはわかりません。また、画像データを反復処理したくないので、最小/最大を見つけてから[0..255]までヒストグラムを拡大することは私には選択肢ではありません(表示は可能な限り効率的でなければなりません)
ありがとう