彩色照片转换为黑白照片(Color image converted to black and white picture)
This blog will be talking about the color image converted to black and white picture.
The project structure as follow:
The run result:
==========================================================
source code:
==========================================================
/UUUU_Test/src/com/b510/image/clent/Client.java
/**
*
*/
package com.b510.image.clent; import java.io.File; import com.b510.image.common.Common;
import com.b510.image.util.ImageUtil; /**
* @author Hongten
* @create 2014-7-13
* @mail hongtenzone@foxmail.com
*/
public class Client { public static void main(String[] args) {
File input = new File(Common.ORGINAL_IMAGE);
File out = new File(Common.PROCESSED_IMAGE);
ImageUtil.changeImge(input, out);
}
}
/UUUU_Test/src/com/b510/image/common/Common.java
/**
*
*/
package com.b510.image.common; /**
* @author Hongten
* @create 2014-7-13
* @mail hongtenzone@foxmail.com
*/
public class Common { // Orginal image path
public static String ORGINAL_IMAGE = "src/com/b510/image/resources/orginal_image.jpg";
// Processed image path
public static String PROCESSED_IMAGE = "src/com/b510/image/resources/processed_image.jpg"; public static String PROCESS_SUCCESS = "Processed successfully.....";
public static String PROCESS_ERROR = "Processing encounters error!";
}
/UUUU_Test/src/com/b510/image/util/ImageUtil.java
/**
*
*/
package com.b510.image.util; import java.awt.Image;
import java.awt.color.ColorSpace;
import java.awt.image.BufferedImage;
import java.awt.image.ColorConvertOp;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException; import javax.imageio.ImageIO; import com.b510.image.common.Common;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder; /**
* @author Hongten
* @create 2014-7-13
* @mail hongtenzone@foxmail.com
*/
public class ImageUtil {
/**
* Color image is converted to black and white picture.
*/
public static void changeImge(File input, File out) {
try {
Image image = ImageIO.read(input);
int srcH = image.getHeight(null);
int srcW = image.getWidth(null);
BufferedImage bufferedImage = new BufferedImage(srcW, srcH, BufferedImage.TYPE_3BYTE_BGR);
bufferedImage.getGraphics().drawImage(image, 0, 0, srcW, srcH, null);
bufferedImage = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null).filter(bufferedImage, null);
FileOutputStream fos = new FileOutputStream(out);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
encoder.encode(bufferedImage);
fos.close();
System.out.println(Common.PROCESS_SUCCESS);
} catch (IOException e) {
e.printStackTrace();
throw new IllegalStateException(Common.PROCESS_ERROR, e);
}
} }
========================================================
More reading,and english is important.
I'm Hongten
大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten
========================================================
彩色照片转换为黑白照片(Color image converted to black and white picture)的更多相关文章
- c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe
把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒 附一个常用的遍 ...
- [ActionScript 3.0] AS3.0 将图像的Alpha通道转换为黑白图像(分离ARGB方式)
import flash.display.BitmapData; import flash.display.Bitmap; /** * 将图像的Alpha通道转换为黑白图像(分离ARGB方式) */ ...
- [ActionScript 3.0] AS3.0将图像的Alpha通道转换为黑白图像(复制通道方式)
import flash.display.BitmapData; /** * 将图像的Alpha通道转换为黑白图像 */ var p:Point = new Point(0,0); var bmpd: ...
- Android-将RGB彩色图转换为灰度图
package com.example.yanlei.wifi; import android.graphics.Bitmap; import android.graphics.BitmapFacto ...
- UWP中String类型如何转换为Windows.UI.Color
原文:UWP中String类型如何转换为Windows.UI.Color 我在学习过程中遇到的,我保存主题色为string,但在我想让StatusBar随着主题色变化时发现没法使用. ThemeCol ...
- java读取照片信息 获取照片拍摄时的经纬度
项目结构 源码:ImageInfo.zip 第一步:添加需要的架包metadate-extractor.jar 架包下载地址:https://code.google.com/p/metadata-ex ...
- Android7.0调用系统相机拍照、读取系统相册照片+CropImageView剪裁照片
Android手机拍照.剪裁,并非那么简单 简书地址:[我的简书–T9的第三个三角] 前言 项目中,基本都有用户自定义头像或自定义背景的功能,实现方法一般都是调用系统相机–拍照,或者系统相册–选择照片 ...
- Win10用Windows照片查看程序(照片查看器)打开图片
以上方法只能一个个添加,也有人说不好使,这里给出一个我写的批处理程序,反正我一直用着很好. ::复制以下内容到记事本: @echo off&cd\&color 0a&cls ...
- win8 metro 调用摄像头拍摄照片并将照片保存在对应的位置
刚刚做过这类开发,所以就先献丑了,当然所贴上的源代码都是经过验证过的,已经执行成功了,希望能够给大家一些借鉴: 以下是metro UI代码: <Page x:Class="Camera ...
随机推荐
- 【JAVA多线程中使用的方法】
一.sleep和wait的区别. 1.wait可以指定时间,也可以不指定. 而sleep必须制定. 2.在同步的时候,对于CPU的执行权和以及锁的处理不同. wait:释放执行权,释放锁. sleep ...
- 攻城狮在路上(叁)Linux(十一)--- 用户与用户组、文件权限、目录配置
一.用户与用户组: 3个概念:文件所有者(user).用户组(group).其他人(others). /etc/passwd <==存放所有的用户名 /etc/shadow <==存放 ...
- Linux环境下使用shell编写CGI(httpd)
/var/www/cgi-bin/hello.sh #!/bin/bash echo "Content-type: text/html" echo "" ech ...
- HP SAN Switch參考文檔地址
HP SAN Switch其實也是基於Linux內核 http://h20566.www2.hpe.com/portal/site/hpsc/template.PAGE/public/psi/manu ...
- 使用PHPExcel导入Excel到MySql
.连接数据库的connection.php文件 <?php //修改下面代码来联接数据库 // mysql_connect打开一个到 MySQL 服务器的连接,如果成功则返回一个 MySQL 连 ...
- String之-如何取得精确byte长度字符串
背景:公司生产线上出现异常,报的错是记录日志时数据库长度超出,导致异常,经查询发现是由于在计算byte长度时出了问题. 问题代码: operatorLog.setOperAfterData(updat ...
- 老生常谈,正确使用memset
转自:http://blog.csdn.net/my_business/article/details/40537653 前段项目中发现一个问题,程序总是在某个dynamic_cast进行动态转换时出 ...
- Java中synchronized详解
synchronized 原则: 尽量避免无谓的同步控制,同步需要系统开销,可能造成死锁 尽量减少锁的粒度 同步方法 public synchronized void printVal(int v) ...
- 在CentOS中快速安装PHP,MySQL,Nginx和phpMyAdmin
安装环境 yum install -y autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel vim 安装p ...
- 领域模型(domain model)&贫血模型(anaemic domain model)&充血模型(rich domain model)
领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系. 贫血模型是指使用的领域对象中只有s ...