使用 Open CV 在 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 ImageResizer {
static {
// 加载 OpenCV 的本地库,这一步是必须的
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) {
// 读取图片
Mat src = Imgcodecs.imread("path/to/image.jpg");
// 检查图片是否正确读取
if (src.empty()) {
System.out.println("图片读取错误");
return;
}
// 创建目标图片的大小
Mat dst = new Mat();
Size size = new Size(src.width() / 2, src.height() / 2); // 假设我们想要将图片缩小到原来的一半
// 进行缩放
Imgproc.resize(src, dst, size, 0, 0, Imgproc.INTER_AREA);
// 保存缩放后的图片
Imgcodecs.imwrite("path/to/scaled_image.jpg", dst);
}
}
System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 语句加载了 OpenCV 的本地库。
Imgcodecs.imread 方法用于读取原始图片文件。
Imgproc.resize 方法用于缩放图片。Size 对象定义了缩放后图片的尺寸,Imgproc.INTER_AREA 是执行缩放时使用的插值类型,通常用于缩小图片。
Imgcodecs.imwrite 方法用于保存处理后的图片到文件系统。