私はこのコードを持っています:
protected Bitmap processFrame(byte[] data) {
Mat mat = new Mat(mFrameHeight, mFrameWidth, CvType.CV_8UC3);
mat.put(0, 0, data);
//process mat with native code
Utils.matToBitmap(mat, mBitmap);
return mBitmap;
}
private Camera.PreviewCallback previewCallback = new Camera.PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
Bitmap bmp = processFrame(data);
if (bmp != null) {
//draw bmp
}
}
};
ある時点で、ビットマップを次のように定義します。
mBitmap = Bitmap.createBitmap(mFrameWidth, mFrameHeight, Bitmap.Config.RGB_565);
その結果、同じカメラ フレームがキャプチャされますが、水平方向に 3 回繰り返されるグレー スケールで、CvType.CV_8UC4 を試してみると、代わりに 4 回繰り返されます。
同じ手順を使用して、画像全体をそのまま表示する必要があります
誰かが間違いをキャッチしますか??