java处理彩色图片转为黑白图片? 本帖最后由 whzhang2008 于 2010-03-11 14:23:51 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20100206/17/f0971124-6de3-463f-8dba-5d3fb54adaee.html 谢谢楼上的,不过处理出来的图片跟JDK封装的代码处理的结果是差不多,不知道photoshop做了什么处理? 那帖子里的公式和photoshop里去色的公式应该是一样的 不妨你把处理过后的两张照片放上来对比下 看有什么不同 http://www.camick.com/java/source/HSLColor.java去下这个文件。然后for(int i = 0; i < width * height; i++) { HSLColor hslColor = new HSLColor(HSLColor.fromRGB(new Color(pixels[i]))); newPixels[i] = hslColor.adjustSaturation(0).getRGB();} public static BufferedImage grayImage(final BufferedImage srcImg) { int width = srcImg.getWidth(); int height = srcImg.getHeight(); int[] pixels = new int[width * height]; srcImg.getRGB(0, 0, width, height, pixels, 0, width); int newPixels[] = new int[width * height]; for(int i = 0; i < width * height; i++) { HSLColor hslColor = new HSLColor(HSLColor.fromRGB(new Color(pixels[i]))); newPixels[i] = hslColor.adjustSaturation(0).getRGB(); } BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); bi.setRGB(0, 0, width, height, newPixels, 0, width); return bi; } Java中线程池中断子线程的问题。有代码,有经验的来看看。 我的代码有什么错误,为什么报java.lang.String cannot be cast to java.util.Vector 询问一个循环自加功能 JAVA 500M文件读取,并找出所有数组“abcd”,输出其所在行 求一个能在Jtable中实现checkbox的工具类 问下大家都是怎么避免书写错误的? 关于this 关于jdkapi doc的问题(第一个回答正确的给分) 如何用swing做个没有最大、最小化之类按钮的窗口?? SQL 调用的返回值 急!急求一个关于处理XML的JAVA程序!!!! 求教高手
不妨你把处理过后的两张照片放上来对比下 看有什么不同
HSLColor hslColor = new HSLColor(HSLColor.fromRGB(new Color(pixels[i])));
newPixels[i] = hslColor.adjustSaturation(0).getRGB();
}
public static BufferedImage grayImage(final BufferedImage srcImg) {
int width = srcImg.getWidth();
int height = srcImg.getHeight();
int[] pixels = new int[width * height];
srcImg.getRGB(0, 0, width, height, pixels, 0, width);
int newPixels[] = new int[width * height];
for(int i = 0; i < width * height; i++) {
HSLColor hslColor = new HSLColor(HSLColor.fromRGB(new Color(pixels[i])));
newPixels[i] = hslColor.adjustSaturation(0).getRGB();
}
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
bi.setRGB(0, 0, width, height, newPixels, 0, width);
return bi;
}