在OpenCV中使用Imgproc.calcHist进行反投影(backgorund减法)(openCv4Android)

时间:2013-03-12 12:12:43

标签: java android opencv background-subtraction

我目前正在开发Android应用程序,并希望进行投影。我关注的教程是:

http://docs.opencv.org/doc/tutorials/imgproc/histograms/back_projection/back_projection.html#back-projection

我遇到的问题是当我使用Imgproc.calcHist(...)时。我似乎无法弄清楚我应该传递给这个函数的参数,目前如下所示,并且在断言失败时给出了OpenCV错误:

listHueList = new ArrayList<Mat>() {{ add(mHueMat);}};
ch = new MatOfInt(0,0); 
mMaskMat = new Mat();
mHistMat = new Mat();
range = new MatOfFloat(0, 256);
Imgproc.calcHist(listHueList, ch, mMaskMat, mHistMat, new MatOfInt() , range);

有人可以将上面教程链接中的参数翻译成我可以通过Java语法轻松使用的参数吗?

谢谢

1 个答案:

答案 0 :(得分:0)

看看这段代码。它对我有用!

java.util.List<Mat> matList = new LinkedList<Mat>();
            matList.add(image_gray);
            Mat histogram = new Mat();
            MatOfFloat ranges=new MatOfFloat(0,256);
            Imgproc.calcHist(
                    matList, 
                    new MatOfInt(0), 
                    new Mat(), 
                    histogram , 
                    new MatOfInt(25), 
                    ranges);
            System.out.println("histogram\n"+histogram.dump());