Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在OpenCV4Android中创建和显示直方图?_Android_Opencv_Histogram - Fatal编程技术网

如何在OpenCV4Android中创建和显示直方图?

如何在OpenCV4Android中创建和显示直方图?,android,opencv,histogram,Android,Opencv,Histogram,谁能告诉我我做错了什么,或者给我举个例子,说明如何在OpenCV4 Android中从灰度图创建和显示直方图?这是我的密码 Vector<Mat> bgr_planes = new Vector<Mat>();

谁能告诉我我做错了什么,或者给我举个例子,说明如何在OpenCV4 Android中从灰度图创建和显示直方图?这是我的密码

Vector<Mat> bgr_planes = new Vector<Mat>();                                                                                                                                                                                 
Core.split(cleanFaceMatGRAY, bgr_planes);
MatOfInt histSize = new MatOfInt(256);
final MatOfFloat histRange = new MatOfFloat(0f, 256f);
boolean accumulate = false;
Mat b_hist = new  Mat();
Imgproc.calcHist(bgr_planes, new MatOfInt(0),new Mat(), b_hist, histSize, histRange, accumulate);
显示方法是我自己创建的:

公共类应用工具{

public static Bitmap createBitmapFromMat(Mat mat, Bitmap.Config config) {
    Bitmap bmp2 = null;

    bmp2 = Bitmap.createBitmap(mat.cols(), mat.rows(), config);
    Utils.matToBitmap(mat, bmp2);   
    return bmp2;
}
这在ivPickedPhoto(…)通道中给了我一个错误:

我想我的问题在于我想显示直方图的方式……首先我无法将其转换为bmp。显示直方图的好方法是什么?

您要传递的
Mat
对象的类型应该是
CV_8UC1、CV_8UC3或CV_8UC4
。的文档并没有真正指定您应该使用哪种类型
b_Hist
to be,但由于它正在抱怨
Mat
类型:

error: (-215) src.type() == CV_8UC1 || src.type() == CV_8UC3 || src.type() == CV_8UC4

您可能应该将其转换为上述三种格式之一。

嘿,您是如何解决这个问题的?
12-10 21:12:59.910: E/AndroidRuntime(10301): Caused by: CvException [org.opencv.core.CvException: /home/reports/ci/slave_desktop/50-SDK/opencv/modules/java/generator/src/cpp/utils.cpp:98: error: (-215) src.type() == CV_8UC1 || src.type() == CV_8UC3 || src.type() == CV_8UC4 in function void Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv*, jclass, jlong, jobject, jboolean)
error: (-215) src.type() == CV_8UC1 || src.type() == CV_8UC3 || src.type() == CV_8UC4