私は最近OpenCv4Androidの作業を始めました.与えられた画像操作サンプルを正常に実行できました.テスト演習としてRGB画像をHSVに変換したかった.C++(WINDOWS)でOpenCvを実行し、基本的な機能も知っています.
したがって、cvtcolor 関数は次の引数を取ります。
cvtcolor(mat src,mat dst,Imgproc.COLOR_TRANSFORMATION_TYPE,Number of Channels);
出力を確認するためにさまざまな方法を試しましたが、LIVE CAMERA ビューである cameraPreview しか表示されません。注: Canny のようなその他の機能はまだ動作します (出力を表示します)。
また、この目的のためにJNI、つまりNDKを使用する必要があるのか 、それともOPENCVライブラリを使用するほとんどのアプリケーションをmain_activity.javaで実行(作成)してコンパイルできるのでしょうか?
私は OpenCv4Android の初心者です。説明が多すぎて申し訳ありませんが、すべての提案を歓迎します。ありがとうございました。
//METHOD 1
case ImageManipulationsActivity.VIEW_MODE_HSV:
rgba=inputFrame.rgba();
rgbaInnerWindow = rgba.submat(top, top + height, left, left + width);
Imgproc.cvtColor(rgba, mIntermediateMat, Imgproc.COLOR_RGB2HSV_FULL);
Imgproc.cvtColor(mIntermediateMat, rgbaInnerWindow, Imgproc.COLOR_HSV2RGB_FULL);
rgbaInnerWindow.release();
break;
//METHOD 2
case ImageManipulationsActivity.VIEW_MODE_HSV:
Mat hsv= null;
// rgba=inputFrame.rgba();
// rgbaInnerWindow = rgba.submat(top, top + height, left, left + width);
Imgproc.cvtColor(rgbaInnerWindow, mIntermediateMat, Imgproc.COLOR_RGBA2RGB);
Imgproc.cvtColor(mIntermediateMat, hsv, Imgproc.COLOR_RGB2HSV_FULL);
Imgproc.cvtColor(hsv, rgbaInnerWindow, Imgproc.COLOR_HSV2RGB_FULL);
rgbaInnerWindow.release();
break;
//METHOD 3
case ImageManipulationsActivity.VIEW_MODE_HSV:
rgbaInnerWindow = rgba.submat(top, top + height, left, left + width);
Imgproc.cvtColor(rgbaInnerWindow, rgbaInnerWindow, Imgproc.COLOR_HSV2RGB_FULL);
rgbaInnerWindow.release();
break;