将彩色图片转化为灰度图
来源:互联网 发布:手游代练软件 编辑:程序博客网 时间:2024/04/30 19:32
下面代码完成了将彩色图片转化为灰度图,
Elements和Common是两个工具类
public class TestPro { public static void main(String[] args) throws IOException { BufferedImage bi = (BufferedImage)ImageIO.read(new File("A://图片/小清新1.jpg")); int iw=bi.getWidth(null); int ih=bi.getHeight(null); Common common=new Common(); Elements elements=new Elements(); int[] pixels= common.grabber(bi, iw, ih); //转变为灰度图像 pixels = elements.toGray(pixels, iw, ih); //将数组中的象素产生一个图像 /*for(int i=0;i<pixels.length;i++) { System.out.println(pixels[i]+" "); }*/ //showPix(graph, pixels, "转变结果"); ImageProducer ip=new MemoryImageSource(iw, ih, pixels, 0, iw); Component component=new Component(){}; Image sImage=component.createImage(ip);//通过ImageProducer对象生成Image对象 boolean a=ImageIO.write(toBufferedImage(sImage), "jpg",new File("A://图片/test.jpg")); System.out.println(a); } //将Image对象转化为BufferedImage对象 public static BufferedImage toBufferedImage(Image image) { if (image instanceof BufferedImage) { return (BufferedImage)image; } // This code ensures that all the pixels in the image are loaded image = new ImageIcon(image).getImage(); // Determine if the image has transparent pixels; for this method's // implementation, see e661 Determining If an Image Has Transparent Pixels //boolean hasAlpha = hasAlpha(image); // Create a buffered image with a format that's compatible with the screen BufferedImage bimage = null; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); try { // Determine the type of transparency of the new buffered image int transparency = Transparency.OPAQUE; /* if (hasAlpha) { transparency = Transparency.BITMASK; }*/ // Create the buffered image GraphicsDevice gs = ge.getDefaultScreenDevice(); GraphicsConfiguration gc = gs.getDefaultConfiguration(); bimage = gc.createCompatibleImage( image.getWidth(null), image.getHeight(null), transparency); } catch (HeadlessException e) { // The system does not have a screen } if (bimage == null) { // Create a buffered image using the default color model int type = BufferedImage.TYPE_INT_RGB; //int type = BufferedImage.TYPE_3BYTE_BGR;//by wang /*if (hasAlpha) { type = BufferedImage.TYPE_INT_ARGB; }*/ bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), type); } // Copy image to buffered image Graphics g = bimage.createGraphics(); // Paint the image onto the buffered image g.drawImage(image, 0, 0, null); g.dispose(); return bimage; }}
0 0
- 将彩色图片转化为灰度图
- 将彩色图片转为灰度图
- android opencv 将彩色图片转成灰度图
- 彩色图片转换为灰度图(方法)
- 将彩色图片转成灰度图片
- OpenCV将彩色图像转化为灰度图代码
- opencv将灰度图转化为RGB三通道图像
- OpenCV-将图像转化为灰度图,然后边缘检测
- 将视频图像转化为灰度视频
- canvas 将彩色图片变成灰度图片
- 在ios中使用opencv将彩色图片转换成为灰度图,uiimageview无法显示问题
- word中将彩色图片转为灰度图
- 利用OpenCV和C++实现由RGB图像转化为灰度图,再将灰度图转化为二值图的程序
- OpenCV-将图像两次缩放+转化为灰度图+边缘检测
- 六.使用OpenCv将图像转化为灰度图像
- 使用CImage类将RGB图像转化为灰度图像
- MATLAB将彩色图像转化为灰度图像
- 使用OpenCv将图像转化为灰度图像
- SharedPreference.Editor的apply和commit方法异同
- Alembic 简明教程
- .NET实验6-1
- Objective-C Runtime 运行时之四:Method Swizzling
- 这些Tips让你的App更容易维护
- 将彩色图片转化为灰度图
- php.ini 的一点问题
- 将流信息转化成字符串
- fstream对象作为函数参数的问题汇总及解决方法
- hdu 4715 Difference Between Primes【筛法快速求素数表+思维】
- CCF有趣的数(快速幂,递推)
- Objective-C Runtime 运行时之五:协议与分类
- Java中的WeakReference讲解
- PHP开源框架 CodeIgniter