在OPENCV4Android中转换RGB2HSV

在OPENCV4Android中转换RGB2HSV,android,opencv,opencv4android,Android,Opencv,Opencv4android,我最近开始在OpenCv4Android上工作。我能够成功地运行给定的图像处理示例。我想将RGB图像转换为HSV作为测试练习。我在C++WINDOWS上完成了OpenCv,也知道基本函数 因此cvtcolor函数采用以下参数: cvtcolormat src、mat dst、Imgproc。颜色转换类型、通道数; 我尝试了不同的方法来检查输出,但我只得到了cameraPreview,即实时摄影机视图。 此外,我怀疑是否有必要为此目的使用JNI I.e NDK,或者使用OPENCV库的大多数应用程

我最近开始在OpenCv4Android上工作。我能够成功地运行给定的图像处理示例。我想将RGB图像转换为HSV作为测试练习。我在C++WINDOWS上完成了OpenCv,也知道基本函数

因此cvtcolor函数采用以下参数: cvtcolormat src、mat dst、Imgproc。颜色转换类型、通道数; 我尝试了不同的方法来检查输出,但我只得到了cameraPreview,即实时摄影机视图。 此外,我怀疑是否有必要为此目的使用JNI I.e NDK,或者使用OPENCV库的大多数应用程序是否可以在main_activity.java中编写并编译?? 我是OpenCv4Android的初学者。如果我描述得太多,很抱歉,欢迎所有建议。多谢各位


如果你想显示HSV格式的图像,试试这段代码,我还没有测试过,但应该可以

Mat mRgba = inputFrame.rgba();
// mBgr is Mat in BGR Format
Imgproc.cvtColor(rgba, mBgr, Imgproc.COLOR_RGBA2BGR, 3);
// mHsv is Mat in Hsv Format
Imgproc.cvtColor(mBgr, mHsv, Imgproc.COLOR_BGR2HSV, 3);
// To display the image, we assume that mHsv is in BGR
Imgproc.cvtColor(mHsv, mRgb, Imgproc.COLOR_BGR2RGBA, 4);
// Display the image
我还怀疑是否有必要为此使用JNI即NDK 大多数使用OPENCV库的应用程序都可以 DONE用main_activity.java编写并编译


不,您不需要为此编写本机代码,对于大多数应用程序,OpenCV Java绑定就足够了。即使你需要这样做,也很容易做到

代码不起作用,但我得到了它的jist。我做了以下更改,它起作用了。非常感谢。代码编辑的Imgproc.cvtColorgbainerWindow,mIntermediateMat,Imgproc.COLOR_RGBA2BGR,4;Imgproc.cvtColormIntermediateMat,mIntermediateMat,Imgproc.COLOR_BGR2HSV,3;Imgproc.cvt彩色多媒体,rgbainerWindow,Imgproc.COLOR_BGR2RGBA,4;sry如果它不可读,那么它是相同的代码,具有不同的变量名,并且从那时起,它就可以接受答案。我以前打过字,我编辑过。
Mat mRgba = inputFrame.rgba();
// mBgr is Mat in BGR Format
Imgproc.cvtColor(rgba, mBgr, Imgproc.COLOR_RGBA2BGR, 3);
// mHsv is Mat in Hsv Format
Imgproc.cvtColor(mBgr, mHsv, Imgproc.COLOR_BGR2HSV, 3);
// To display the image, we assume that mHsv is in BGR
Imgproc.cvtColor(mHsv, mRgb, Imgproc.COLOR_BGR2RGBA, 4);
// Display the image