数字图像处理灰度图片,图像处理转化为灰度图像
本文实例为大家分享了爪哇数字图像处理基础之图像灰度处理,供大家参考,具体内容如下
一、简介
图像灰度化处理可以作为图像处理的预处理步骤,在图像处理中是十分重要的一件事。灰度图像上每个像素的颜色值又称为灰度,指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0。
灰度转换公式:
int gray=(int)(color。getred()* 0.299颜色。获取green()* 0.587颜色。get blue()* 0.114);
我们只是需要把每个像素点都转化为灰度值,就可实现图像的灰度转化;
二、代码演示
导入javax。imageio。imageio导入javax。挥棒。*;导入Java。awt。*;导入Java。awt。形象。缓冲图像;导入Java。io。文件;导入Java。io。io异常;公共类图像灰色扩展画布{ JFrame jframe=新JFrame(图像灰度处理);BufferedImage bufferedImage,bufferedImage _ endImage image,image _ end public image gray(){ try { buffered image=imageio。阅读(新文件( D:\EDge下载地址 莱娜。jpg’));} catch(io异常e){ e . printstacktrace();} jframe。设置布局(空);//定义位置jframe.setBounds(200,200,800,600);this.setBounds(0,0,800,600);jframe.add(这个);jframe。设置可见(真);} @ Override public void paint(Graphics g){ Image=(Image)缓冲图像;Image _ end=(Image)gray(缓冲图像);g.drawImage(image,0,0,null);//显示原图g。画线(350,10,350,600);//中间的线g.drawImage(image_end,370,0,null);//显示灰度图片} //灰度处理,把原图传进去,传出来为修改后的图公共缓冲图像gray(缓冲图像b){ int width=b . getwidth();int height=b . get height();//下面这个别忘了定义,不然会出错bufferedImage _ end=新的缓冲图像(宽度,高度,缓冲图像.TYPE _ 3 byte _ BGR);//双层循环更改图片的RGB值,把得到的灰度值存到bufferedImage_end中,然后返回bufferedImage _ end for(int y=0;y高度;y){ for(int x=0;x宽度;x ) { //获取到(x,y)此像素点的科罗,转化为灰度颜色颜色=新颜色(缓冲图像。get RGB(x,y));int gray=(int)(color。getred()* 0.299颜色。获取green()* 0.587颜色。get blue()* 0.114);颜色color_end=新颜色(灰色、灰色、灰色);bufferedImage_end.setRGB(x,y,color _ end。获取RGB());} } return bufferedImage _ end } public static void main(String[]args){ new image gray();}}
三、结果演示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行它。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。