画像を整数配列に変換するC ++
-
27-09-2019 - |
質問
画像(.pngファイル)のピクセルを整数配列に変換するにはどうすればよいですか。各ピクセルがArgb整数等価に変換されますか?ちなみに2D整数アレイではなく、1Dのアレイ(アクセスは配列[row*width+col]を介してあります)。
ありがとう。
解決
いくつかのバッファーに画像データを読んだら、通常のキャストはトリックを行う必要があります。
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ("image.png", NULL);
unsigned char *pixels = gdk_pixbuf_get_pixels (pixbuf);
int *array = reinterpret_cast<int*>(pixels);
例では、GDKPIXBUFライブラリを使用しますが、他のライブラリは似ている必要があります。
他のヒント
あなたが興味と学習のためにそれをしていない限り、私はあなたがサードパーティのライブラリを使用することをお勧めします、たとえば ImageMagick.
これにより時間を節約できます(そしてバグを避けます)
所属していません StackOverflow