java圖像處理的方法大全
java圖像處理的方法大全
【提要】本篇《java圖像處理的方法》特別為需要方法編程學(xué)習(xí)的朋友收集整理的,僅供參考。內(nèi)容如下:
項(xiàng)目需要調(diào)整圖片服務(wù)器的解決方案,這次調(diào)整使用fastdfs存儲(chǔ)小文件,也就是圖片,因?yàn)楝F(xiàn)在還沒(méi)有fastdfs的.net版的.客服端,所以理所當(dāng)然把處理圖片放到了java這塊,使用java來(lái)處理圖片并且上傳到fastdfs上以下是小編為大家搜索整理的java圖像處理的方法
圖像剪切
對(duì)于一個(gè)已經(jīng)存在的Image對(duì)象,要得到它的一個(gè)局部圖像,可以使用下面的步驟:
/pic/p>
/pic/p>
Image croppedImage;
ImageFilter cropFilter;
CropFilter =new CropImageFilter(25,30,75,75);/pic/p>
CroppedImage= Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(sourceImage.getSource(),cropFilter));
/pic/p>
/pic/p>
圖像縮放
對(duì)于一個(gè)已經(jīng)存在的Image對(duì)象,得到它的一個(gè)縮放的Image對(duì)象可以使用Image的getScaledInstance方法:
Image scaledImage=sourceImage. getScaledInstance(100,100, Image.SCALE_DEFAULT);/pic/p>
Image doubledImage=sourceImage. getScaledInstance(sourceImage.getWidth(this)*2,sourceImage.getHeight(this)*2, Image.SCALE_DEFAULT);/pic/p>
/pic/p>
灰度變換
下面的程序使用三種方法對(duì)一個(gè)彩色圖像進(jìn)行灰度變換,變換的效果都不一樣。一般而言,灰度變換的算法是將象素的三個(gè)顏色分量使用 R*0.3+G*0.59+B*0.11得到灰度值,然后將之賦值給紅綠藍(lán),這樣顏色取得的效果就是灰度的。另一種就是取紅綠藍(lán)三色中的最大值作為灰度值。java核心包也有一種算法,但是沒(méi)有看源代碼,不知道具體算法是什么樣的,效果和上述不同。
/* 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 f
inal int CS_FLOAT=1;
ColorModel sourceModel;
int modelStyle;
public GrayModel(ColorModel sourceModel) {
super(sourceModel.getPixelSize());
this.sourceModel=sourceModel;
modelStyle=0;
}
【java圖像處理的方法】相關(guān)文章:
的java圖像處理的方法01-20
java圖像處理的方法12-28
java處理BOM文本的方法12-23
用Java處理各類(lèi)圖片的方法02-28
Java編程中異常處理的方法11-18
Photoshop圖像處理技巧01-10
ps圖像處理技巧02-27
Java 異常處理12-22