java 图像灰度直方图
来源:互联网 发布:古力娜扎长相知乎 编辑:程序博客网 时间:2024/06/09 23:41
希望你了解下 <前言>
上一篇文章中,已经说过了图像的灰度化,灰度化之后,我们希望了解像素在0-255的分布情况。这就是我们下面要说的图像的灰度直方图,这是最简单的一种。但是原理都是一样的。图像的直方图有大量的用处,它反应了图像的某些特征,以至于可以用来进行图像搜索。
获得直方图信息代码如下:
public int[] hist(){toGray();int[] hist = new int[256];int len = h*w;for(int i=0;i<len;i++)hist[data[i]]++;return hist;}
然后我们要做的就是画出图像的统计直方图,代码如下:
public BufferedImage getHist(){toGray();int[] intensity = hist();int size = 300;BufferedImage pic = new BufferedImage(size,size, BufferedImage.TYPE_4BYTE_ABGR);Graphics2D g2d = pic.createGraphics(); g2d.setPaint(Color.BLACK); g2d.fillRect(0, 0, size, size); g2d.setPaint(Color.WHITE); g2d.drawLine(5, 250, 265, 250); g2d.drawLine(5, 250, 5, 5); g2d.setPaint(Color.GREEN); int max = math.findMaxValue(intensity); //找到直方图中最大的值 float rate = 200.0f/((float)max); int offset = 2; for(int i=0; i<intensity.length; i++) { int frequency = (int)(intensity[i] * rate); g2d.drawLine(5 + offset + i, 250, 5 + offset + i, 250-frequency); } g2d.setPaint(Color.RED); g2d.drawString("", 100, 270); return pic;}
以上代码参考了 图像分析之直方图分析
运行结果如下:
0 0
- java 图像灰度直方图
- 图像灰度直方图算法
- 灰度图像的直方图
- 灰度图像的直方图
- 图像的灰度直方图
- 图像的灰度直方图
- 图像处理 灰度图像直方图
- matlab求灰度图像的灰度直方图
- 图像处理 灰度直方图变换
- Matlab图像的灰度直方图
- 灰度图像直方图均衡处理
- 图像的灰度直方图介绍
- opencv获取灰度图像直方图
- 图像处理opencv2-灰度直方图以及灰度直方图均衡化
- java实现图像的直方图均衡以及灰度线性变化,灰度拉伸
- 图像预处理--灰度直方图--图像增强
- [图像]图像灰度均衡化和灰度直方图(Matlab实现)
- MATLAB中绘制灰度图像的直方图
- 设计
- 奇偶调序问题
- 侧边抽屉式导航可能会降低你产品一半的用户参与度
- HDU 4539 状压DP
- tomcat 服务器拒绝了链接
- java 图像灰度直方图
- Hdu1213 - How Many Tables - 并查集
- 探秘抽屉导航的前生今世
- C++ 中的内存问题
- 投资
- 代理模式
- POJ3384-Feng Shui
- 交互设计的职能——交互设计师具体做哪些内容?
- 费用流模板