小编bin*_*per的帖子

彩色图像的OpenCV直方图匹配

我正在尝试编写一个使用 OpenCV3.1 执行彩色图像直方图匹配的 Android 应用程序。我在C++中找到了这个代码示例,并将其转换为java。我尝试分别匹配每个 RGB 通道,但它没有给我想要的结果。所以现在我将图像转换为 YUV 颜色空间,然后匹配 Y 通道。我希望实现的是亮度匹配,因此如果光源比目标更亮,我会得到更暗的图像。

到目前为止,最终(输出)图像的 Y 直方图似乎有点接近目标图像的 Y 直方图,但实际输出看起来并不像目标。

这是相关代码:

private Mat calculateLUT(Mat in_cdf_mat, Mat dst_cdf_mat) {
    int last = 0;
    double epsilon = Double.parseDouble(epsilonTextView.getText().toString());// epsilon set to 0.01
    Mat M = new Mat(256, 1,CvType.CV_8UC1);
    for(int j=0; j<in_cdf_mat.rows(); j++) {
        double F1j = in_cdf_mat.get(j,0)[0];
        for(int k = last; k < dst_cdf_mat.rows(); k++) {
            double F2k = dst_cdf_mat.get(k,0)[0];
            if(Math.abs(F2k - F1j) < epsilon || F2k > F1j) {
                double[] data = {k} …
Run Code Online (Sandbox Code Playgroud)

android image-processing histogram opencv3.1

6
推荐指数
0
解决办法
2924
查看次数

标签 统计

android ×1

histogram ×1

image-processing ×1

opencv3.1 ×1