java图像分割方法集合.doc

上传人:marr****208 文档编号:132261693 上传时间:2020-05-14 格式:DOC 页数:11 大小:178.50KB
返回 下载 相关 举报
java图像分割方法集合.doc_第1页
第1页 / 共11页
java图像分割方法集合.doc_第2页
第2页 / 共11页
java图像分割方法集合.doc_第3页
第3页 / 共11页
java图像分割方法集合.doc_第4页
第4页 / 共11页
java图像分割方法集合.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《java图像分割方法集合.doc》由会员分享,可在线阅读,更多相关《java图像分割方法集合.doc(11页珍藏版)》请在金锄头文库上搜索。

1、import java.awt.*;import javax.swing.*;class ImageTest extends JFrame public ImageTest() setSize(300,300); setVisible(true); public Image splitImage(String file, int rows, int cols) System.out.println(Test);Image t=new ImageIcon(file).getImage(); Image result = new Imagerows * cols; int w = t.getWid

2、th(this)/cols; int h = t.getHeight(this)/rows; try for(int i = 0;iresult.length;i+) resulti = this.createImage(w,h); Graphics g = resulti.getGraphics(); g.translate(-i%cols)*w,(-i/cols)*h); g.drawImage(t,0,0,this); System.out.println(Test); catch(Exception e) return result; class Test extends JFrame

3、 public Test() setSize(300,300); setVisible(true); public void paint(Graphics g) ImageTest tt = new ImageTest(); Image image = tt.splitImage(1.gif,5,5); g.drawImage(image0,0,0,this); public static void main(String args) new Test(); 将一个大图像分割成几个小图像的代码/分割图像的方法。 import javax.swing.*; import java.awt.*;

4、import java.awt.image.*;import .URL; import java.io.File;import java.util.Hashtable; public class ChenWin504 extends JApplet Image im; MediaTracker me; Image imag; public static Hashtable cache; public void init() URL ur=ChenWin504.class.getResource(images/ima); imag=new Image10; System.out.println(

5、ur); im=getToolkit().getImage(images/ima/jumptojavastrip.png); me=new MediaTracker(this); me.addImage(im,0); try me.waitForID(0); catch(Exception e) DemoImages(); for(int i=0;i10;i+) imagi=(Image)cache.get(jumptojavastrip-+i+.png); if(imagi=null) System.out.println(null); public void paint(Graphics

6、g) int x=5; int y=100; g.drawImage(im,5,0,null); for(int i=0;i300) x=5;y+=100; public void DemoImages() URL url = ChenWin504.class.getResource(images/ima); File dir = new File(url.getFile(); if (dir != null & dir.isDirectory() String list = dir.list(); System.out.println(list.length); cache = new Ha

7、shtable(list.length); for (int i = 0; i list.length; i+) cache.put(listi, createImage(listi, this); if (cache.containsKey(jumptojavastrip.png) Image img = (Image) cache.get(jumptojavastrip.png); for (int i=0, x=0; i 10; i+, x+=80) String s = jumptojavastrip- + String.valueOf(i) + .png; cache.put(s,

8、getCroppedImage(img, x, 0, 80, 80, this); public static Image createImage(String fileName, Component cmp) URL url = ChenWin504.class.getResource(images/ima/ + fileName); Image img = cmp.getToolkit().createImage(url); trackImage(img, cmp); return img; /分割图像的方法。 public static Image getCroppedImage(Ima

9、ge img, int x, int y, int w, int h, Component cmp) ImageProducer imgP = img.getSource(); CropImageFilter cif = new CropImageFilter(x, y, w, h); ImageProducer ip = new FilteredImageSource(imgP, cif); Image croppedimage = cmp.getToolkit().createImage(ip); trackImage(croppedimage, cmp); return croppedi

10、mage; private static void trackImage(Image img, Component cmp) MediaTracker tracker = new MediaTracker(cmp); tracker.addImage(img, 0); try tracker.waitForID(0); catch (Exception ex) ex.printStackTrace(); 效果图:java 图片切割,缩放,转换类型等等 import java.io.*;import java.awt.*;import java.awt.image.*;import java.a

11、wt.Graphics;import java.awt.color.ColorSpace;import javax.imageio.ImageIO;public class ImageCut /* * 缩放图像 * param srcImageFile源图像文件地址 * param result缩放后的图像地址 * param scale缩放比例 * param flag缩放选择:true 放大; false 缩小; */ public static void scale(String srcImageFile, String result, int scale, boolean flag)

12、try BufferedImage src = ImageIO.read(new File(srcImageFile); / 读入文件 int width = src.getWidth(); / 得到源图宽 int height = src.getHeight(); / 得到源图长 if (flag) / 放大 width = width * scale; height = height * scale; else / 缩小 width = width / scale; height = height / scale; Image image = src.getScaledInstance(width, height, Image.SCALE_DEFAULT); BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = tag.getGraphics(); g.drawImage(image, 0, 0, null); / 绘制缩小后的图 g.dispose(); ImageIO.write(tag, JPEG, new File(result);/ 输出到文件流 catch (IOException e) e.p

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号