0

私は最近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;  
4

1 に答える 1