首页 → 名言 → 哲理美文
的java圖像處理的方法有哪些 java實現圖像處理
日期:2023-02-21 01:43:10    编辑:网络投稿    来源:互联网
的java圖像處理的方法  項目需要調整圖片服務器的解決方案,這次調整使用fastdfs存儲小文件,也就是圖片,因為現在還沒有fastdfs的.net版的客服端,所以理所當然把處理圖片放到了
为你推荐:
  • 文字控很火的說說
  • 的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圖像處理的方法】相關文章:

    1.java圖像處理的方法大全

    2.java處理BOM文本的方法

    3.Java 異常處理

    4.利用C語言實現計算機圖像處理的方法

    5.java方法重寫的方法分析

    6.java“類的分包處理”詳細教程

    7.移動場景下的圖像處理應用設計

    8.關于Photoshop技巧之圖像處理的技巧大全

    9.用java重載的方法

    这里有更多你想看的
  • 睡前發說說的文案_
    • 本类最新
    • 精品图文
    • 时尚
    • 新闻
    • 生活
    • 视觉
    • 微爱
      栏目ID=88的表不存在(操作类型=0)

    头条推荐

    热门推荐

    特别推荐

    返回顶部