Может кто-нибудь сказать мне, что я делаю неправильно, или дать мне пример, как создать гистограмму И ДИСПЛЕЙ из оттенков серого в OpenCV4 Android? Существует мой код ...Как создать и отобразить гистограмму в OpenCV4Android?
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);
И тогда я пытаюсь установить его для просмотра изображения, чтобы увидеть его:
ivPickedPhoto.setImageBitmap(AppTools.createBitmapFromMat(b_hist, Bitmap.Config.ARGB_8888));
Способ отображения был создан сам по себе:
общественный класс Apptools {
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 (...) лейн:
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)
Я думаю, моя проблема связана с тем, как я хочу отображать гистограмму ... я не могу преобразовать ее в bmp. Что такое хороший способ показать гистограмму?
Эй, как вы это решили? – Solace