import java.awt.Image;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
public class ImageCrop
{
public static void main(String[] args)
{
for(int j=0;j<=73;j++)
{
String path = "C:\\Neonate_Frames\\New_Born\\slight_pain\\v_slight_pain_"+j;
File fils = new File(path);
File files[]=fils.listFiles();
for (int i = 0; i < files.length; i++)
{
String fileName = files[i].getAbsolutePath();
if (!files[i].isFile())
{
continue;
}
String name = "C:\\Neonate_Frames\\New_Born\\v_slight_pain_"+j+"\\";
if (!new File(name).exists())
{
new File(name).mkdir();
}
try
{
cutCenterImage(fileName, name+i+".jpg",350,350);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
public static void cutCenterImage(String src,String dest,int w,int h) throws IOException //裁剪中间区域函数
{
Iterator iterator = ImageIO.getImageReadersByFormatName("jpg");
ImageReader reader = (ImageReader)iterator.next();
InputStream in=new FileInputStream(src);
ImageInputStream iis = ImageIO.createImageInputStream(in);
reader.setInput(iis, true);
ImageReadParam param = reader.getDefaultReadParam();
int imageIndex = 0;
Rectangle rect = new Rectangle((reader.getWidth(imageIndex)-w)/2, (reader.getHeight(imageIndex)-h)/2, w, h);
param.setSourceRegion(rect);
BufferedImage bi = reader.read(0,param);
ImageIO.write(bi, "jpg", new File(dest));
}
}
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
public class ImageCrop
{
public static void main(String[] args)
{
for(int j=0;j<=73;j++)
{
String path = "C:\\Neonate_Frames\\New_Born\\slight_pain\\v_slight_pain_"+j;
File fils = new File(path);
File files[]=fils.listFiles();
for (int i = 0; i < files.length; i++)
{
String fileName = files[i].getAbsolutePath();
if (!files[i].isFile())
{
continue;
}
String name = "C:\\Neonate_Frames\\New_Born\\v_slight_pain_"+j+"\\";
if (!new File(name).exists())
{
new File(name).mkdir();
}
try
{
cutCenterImage(fileName, name+i+".jpg",350,350);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
public static void cutCenterImage(String src,String dest,int w,int h) throws IOException //裁剪中间区域函数
{
Iterator iterator = ImageIO.getImageReadersByFormatName("jpg");
ImageReader reader = (ImageReader)iterator.next();
InputStream in=new FileInputStream(src);
ImageInputStream iis = ImageIO.createImageInputStream(in);
reader.setInput(iis, true);
ImageReadParam param = reader.getDefaultReadParam();
int imageIndex = 0;
Rectangle rect = new Rectangle((reader.getWidth(imageIndex)-w)/2, (reader.getHeight(imageIndex)-h)/2, w, h);
param.setSourceRegion(rect);
BufferedImage bi = reader.read(0,param);
ImageIO.write(bi, "jpg", new File(dest));
}
}