java 影像处理_java图像处理的方法
java图像处理的方法
项目需要调整图片服务器的解决方案,这次调整使用fastdfs存储小文件,也就是图片,因为现在还没有fastdfs的.net版的客服端,所以理所当然把处理图片放到了java这块,使用java来处理图片并且上传到fastdfs上以下是小编为大家搜索整理的java图像处理的方法,欢迎阅读!更多精彩内容请及时关注我们应届毕业生考试网!
图像剪切
对于一个已经存在的Image对象,要得到它的一个局部图像,可以使用下面的步骤:
//import java.awt.*;
//import java.awt.image.*;
Image croppedImage;
ImageFilter cropFilter;
CropFilter =new CropImageFilter(25,30,75,75);//四个参数分别为图像起点坐标和宽高,即CropImageFilter(int x,int y,int width,int height),详细情况请参考API
CroppedImage= Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(sourceImage.getSource(),cropFilter));
//如果是在Component的子类中使用,可以将上面的Toolkit.getDefaultToolkit().去掉。
//FilteredImageSource是一个ImageProducer对象。
图像缩放
对于一个已经存在的Image对象,得到它的一个缩放的Image对象可以使用Image的getScaledInstance方法:
Image scaledImage=sourceImage. getScaledInstance(100,100, Image.SCALE_DEFAULT);//得到一个100X100的'图像
Image doubledImage=sourceImage. getScaledInstance(sourceImage.getWidth(this)*2,sourceImage.getHeight(this)*2, Image.SCALE_DEFAULT);//得到一个放大两倍的图像,这个程序一般在一个swing的组件中使用,而类Jcomponent实现了图像观察者接口ImageObserver,所有可以使用this。
//其它情况请参考API。
灰度变换
下面的程序使用三种方法对一个彩色图像进行灰度变换,变换的效果都不一样。一般而言,灰度变换的算法是将象素的三个颜色分量使用 R*0.3+G*0.59+B*0.11得到灰度值,然后将之赋值给红绿蓝,这样颜色取得的效果就是灰度的。另一种就是取红绿蓝三色中的最大值作为灰度值。java核心包也有一种算法,但是没有看源代码,不知道具体算法是什么样的,效果和上述不同。
/* GrayFilter.java*/
/*@author:cherami */
/*email:cherami@163.net*/
import java.awt.image.*;
public class GrayFilter extends RGBImageFilter {
int modelStyle;
public GrayFilter() {
modelStyle=GrayModel.CS_MAX;
canFilterIndexColorModel=true;
}
public GrayFilter(int style) {
modelStyle=style;
canFilterIndexColorModel=true;
}
public void setColorModel(ColorModel cm) {
if (modelStyle==GrayModel.CS_MAX) {
substituteColorModel(cm,new GrayModel(cm));
}
else if (modelStyle==GrayModel.CS_FLOAT) {
substituteColorModel(cm,new GrayModel(cm,modelStyle));
}
public int filterRGB(int x,int y,int pixel) {
return pixel;
}
}
/* GrayModel.java*/
/*@author:cherami */
/*email:cherami@163.net*/
import java.awt.image.*;
public class GrayModel extends ColorModel {
public static final int CS_MAX=0;
public static final int CS_FLOAT=1;
ColorModel sourceModel;
int modelStyle;
public GrayModel(ColorModel sourceModel) {
super(sourceModel.getPixelSize());
this.sourceModel=sourceModel;
modelStyle=0;
}
【java图像处理的方法】相关文章:
java 影像处理_java图像处理的方法相关推荐
- java桥_java 泛型--桥方法
因为 java 在编译源码时, 会进行 类型擦除, 导致泛型类型被替换限定类型(无限定类型就使用 Object). 因此为保持继承和重载的多态特性, 编译器会生成 桥方法. 本文最后附录所有源码. P ...
- modifiers在JAVA中_Java Modifier.classModifiers方法代碼示例
import java.lang.reflect.Modifier; //導入方法依賴的package包/類 /** * Returns a string describing this {@code ...
- java中位数_java 计算中位数方法
最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...
- java 实例域_Java实例域初始化方法及顺序
Java实例域初始化方式 1.构造器 public class Employee { private String name; private String gender; private int a ...
- java writebytes()_Java ObjectOutputStream writeBytes()方法与示例
ObjectOutputStream类writeBytes()方法writeBytes()方法在java.io包中可用. writeBytes()方法用于将给定的字符串作为字节序列写入. writeB ...
- cdate在java中_Java Calendar.add方法代码示例
本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...
- java 二义性_Java接口默认方法带来的问题分析【二义性问题】
本文实例分析了Java接口默认方法带来的问题.分享给大家供大家参考,具体如下: 一 点睛 Java 8中,如果一个类实现两个或多个接口,即"变相"的多继承,但是若其中两个接口都包含 ...
- java控制台_JAVA控制台输入输出方法总结
java的控制台输入输出有很多方法,此文分别对其进行介绍. 1.控制台的输入 关于控制台的输入主要介绍三种方法,第一种方法使用BufferedReader获得控制台输入的数据,此方法是传统的输入方法, ...
- arraylist java 排序_Java ArrayList排序方法详解
由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一.ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在 ...
最新文章
- arch linux 下安装 conan permissionError :[Erno 13] Permission denied
- 【收藏】wsl2 出现 Vmmem内存占用过大问题解决
- vue源码学习--vue源码学习入门
- [C++11]shared_ptr共享智能指针的初始化与使用
- 为何获得风险投资的公司多数倒闭了?
- mysql作为tidb从库配置
- python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析
- SAP License:FICO重要概念(二)-附常用技巧
- python tablewidget 颜色_更改QTableWidget的默认选择颜色,并使其半透明
- mydbtest文档
- Linux重置mysql密码
- 思科网络学习笔记 | 路由概念
- 大一计算机课程ppt作业,《计算机应用基础》课程第4次作业-PPT操作题答案步骤...
- 操作系统的几种基本类型
- 不属于微型计算机的技术特标,计算机组成原理汇总
- SpringBoot框架DataSource多数据源配置
- Git ~ commit 规范
- 如何设置Mac电脑的DNS
- 去哪儿网2015春季校招笔试--回忆版
- 区块链推动食品安全走向新时代