Java Image resize


BufferedImage targetImage = new BufferedImage(targetWidth, targetHeight,
BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = targetImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(sourceImage, targetX, targetY, targetWidth, targetHeight, null);

// Write the scaled image to the outputstream
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(targetImage);
param.setQuality(100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(targetImage);
ImageIO.write(targetImage, targetFormat, targetImageFile);
}
finally {
if (out != null) try {out.close();}catch (Exception e) {};
}
Java中使用OpenCV进行图片的resize可以通过以下步骤实现: 1. 首先,确保你已经安装了OpenCV库并将其添加到Java项目中。 2. 导入必要的类和方法: ```java import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.Size; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; ``` 3. 加载原始图片: ```java Mat srcImage = Imgcodecs.imread("path/to/your/image.jpg"); ``` 4. 定义目标图片的宽度和高度: ```java int targetWidth = 800; int targetHeight = 600; ``` 5. 创建一个新的Mat对象来存储resize后的图片: ```java Mat resizedImage = new Mat();``` 6. 调用OpenCV的resize函数进行图片的resize: ```java Imgproc.resize(srcImage, resizedImage, new Size(targetWidth, targetHeight)); ``` 7. 保存resize后的图片: ```java Imgcodecs.imwrite("path/to/save/resized/image.jpg", resizedImage); ``` 下面是一个完整的示例代码: ```java import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.Size; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class ImageResizeExample { public static void main(String[] args) { // 加载OpenCV库 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); // 加载原始图片 Mat srcImage = Imgcodecs.imread("path/to/your/image.jpg"); // 定义目标图片的宽度和高度 int targetWidth = 800; int targetHeight = 600; // 创建一个新的Mat对象来存储resize后的图片 Mat resizedImage = new Mat(); // 调用OpenCV的resize函数进行图片的resize Imgproc.resize(srcImage, resizedImage, new Size(targetWidth, targetHeight)); // 保存resize后的图片 Imgcodecs.imwrite("path/to/save/resized/image.jpg", resizedImage); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值