0
点赞
收藏
分享

微信扫一扫

OpenCV Java 直方图均衡化





  • 直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法.
  • 说得更清楚一些, 以上面的直方图为例, 你可以看到像素主要集中在中间的一些强度值上. 直方图均衡化要做的就是拉伸这个范围. 见下面左图: 绿圈圈出了少有像素分布其上的强度值. 对其应用均衡化后, 得到了中间图所示的直方图. 均衡化的图像见下面右图.

OpenCV Java 直方图均衡化_均衡化

Java Code实现:


package com.gitee.dgw.lesson8;

import com.gitee.dgw.lesson1.platformUtils;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

/**
* @program: learn-opencv
* @description:
* @author: Mr.Dai
* @create: 2020-03-10 18:41
**/
public class equalizeHist {


private final static String path=System.getProperty("user.dir")+"\\catton.jpg";
static{
platformUtils.loadLibraries();
}


public static void main(String[] args) {
Mat srcimage;
Mat dstimg=new Mat();
//读取一张图片
//image=Imgcodecs.imread(path);

//读取一张灰度图片
srcimage= Imgcodecs.imread(path,Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);

if (srcimage.empty()) {
System.err.println("加载图片出错,请检查图片路径!");
return;
}

Imgproc.equalizeHist(srcimage,dstimg);

//显示出来 对namedWindos 与cv::imshow 封装
HighGui.imshow("dstimg showimg",dstimg);
HighGui.imshow("srcimage showimg",srcimage);
// 无限等待按键按下
HighGui.waitKey(0);

}
}




​​

OpenCV Java 直方图均衡化_直方图_02

​​



举报

相关推荐

0 条评论