【发布时间】:2017-12-03 20:29:25
【问题描述】:
我正在尝试直方图均衡化,但它给了我与输入相同的图像。
似乎直方图均衡化没有影响。谁能告诉我哪里出错了?
private static Mat adjustBrightnessContrast(Mat srcImage){
Mat filterImage = srcImage.clone();
Imgproc.cvtColor(srcImage,filterImage,Imgproc.COLOR_BGR2YCrCb);
java.util.List<Mat> filterImageList = new ArrayList<Mat>(3);
Core.split(filterImage,filterImageList);
Mat luminance = filterImageList.get(0);
Imgproc.equalizeHist(luminance,luminance);
filterImageList.set(0,luminance);
Core.merge(filterImageList,srcImage);
Imgproc.cvtColor(filterImage,srcImage, Imgproc.COLOR_YCrCb2BGR);
return srcImage;
}
我所做的是将图像从BGA转换为YCrCb格式,然后在将图像转换为list格式后对第一个通道为0的通道进行直方图均衡。
然后是我在实现 hist 后得到的 Mat 格式。等式。我用它替换了list。最后是 merge 带有 sourceImage 的列表。
但我得到的输出与输入相同。
我正在尝试将这张图片作为:
PS : 我认为我在转换的颜色部分犯了一些错误,因为灰度图像正常工作。
【问题讨论】: