JavaCVでconvertToメソッドを使用する方法を理解するのを手伝ってください。私は多くの時間を試して検索していましたが、適切な答えが見つかりませんでした。だから私の問題は、マットのタイプを灰色の画像からCV_32Fに変換しようとして、それをAndroid画面に表示しようとすると、結果が得られないことです。これは私のソース:
Imgproc.cvtColor(src, dst, Imgproc.COLOR_RGBA2GRAY, 1); // dst is gray image
dst.convertTo(dst_f, CvType.CV_32F, 1./255, 0); //convert dst to CV_32F with optional scale
Imgproc.cvtColor(dst_f, src, Imgproc.COLOR_GRAY2RGBA, 4); // to display it in android before convert to bitmap
私はこのコードでopencv C ++でも試していましたが、スムーズに実行されました:
imshow("dst", image);
cvtColor(image, dst, CV_BGR2GRAY);
dst.convertTo(dst_f, CV_32F, 1.0/255, 0);
imshow("dst_f", dst_f);
更新しました :
Android画面でオンラインで画像を表示しようとすると間違っていると思います。Androidが画面に画像を表示するには4チャンネルが必要であることは知っていましたが、表示方法がわかりません。しかし、グレーをCV_32F画像タイプに変換し、上記と同じコードで表示しようとすると、結果がなくスムーズに実行されます。