Go 画像からピクセル配列を取得する方法
Go では、ファイルからロードされた画像からピクセル配列を取得できますイメージパッケージを使用します。この配列は、/mobile/gl パッケージから Contex の texImage2D メソッドに渡すことができます。
ピクセル配列を取得するには、次の手順に従います。
ファイルからの画像:
a, err := asset.Open("key.jpeg") if err != nil { log.Fatal(err) } defer a.Close() img, _, err := image.Decode(a) if err != nil { log.Fatal(err) }
二次元配列の作成ピクセル値を保存するには:
var pixels [][]Pixel
画像ピクセルを反復処理し、RGBA 値を抽出します:
bounds := img.Bounds() width, height := bounds.Max.X, bounds.Max.Y for y := 0; y < height; y++ { var row []Pixel for x := 0; x < width; x++ { r, g, b, a := img.At(x, y).RGBA() pixel := rgbaToPixel(r, g, b, a) row = append(row, pixel) } pixels = append(pixels, row) }
RGBA を変換しますに値するピクセル:
func rgbaToPixel(r uint32, g uint32, b uint32, a uint32) Pixel { return Pixel{int(r / 257), int(g / 257), int(b / 257), int(a / 257)} }
ピクセル配列を返します:
return pixels
返されたピクセル配列は、texImage2D メソッドに渡して表示できます。画像。
以上がGo イメージからピクセル配列を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。