待完善
一、图片缩放
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat resizedImage = new Mat();Size size = new Size(100, 100);opencv_imgproc.resize(image, resizedImage, size);opencv_imgcodecs.imwrite("E://app/images/resized.jpg", resizedImage);}
}
二、图片旋转
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Point2f;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat rotatedImage = new Mat();double angle = 90.0;Point2f center = new Point2f(image.cols() / 2, image.rows() / 2);Mat rotationMatrix = opencv_imgproc.getRotationMatrix2D(center, angle, 1.0);opencv_imgproc.warpAffine(image, rotatedImage, rotationMatrix, image.size());opencv_imgcodecs.imwrite("E://app/images/rotated3.jpg", rotatedImage);}
}
三、边缘检测
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat grayImage = new Mat();Mat cannyImage = new Mat();opencv_imgproc.cvtColor(image, grayImage, opencv_imgproc.COLOR_BGR2GRAY);opencv_imgproc.Canny(grayImage, cannyImage, 100, 200);opencv_imgcodecs.imwrite("E://app/images/edges.jpg", grayImage);opencv_imgcodecs.imwrite("E://app/images/edges33.jpg", cannyImage);}
}

四、图像腐蚀
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat grayImage = new Mat();Mat element = opencv_imgproc.getStructuringElement(opencv_imgproc.MORPH_RECT, new Size(15, 15));opencv_imgproc.erode(image, grayImage, element);opencv_imgcodecs.imwrite("E://app/images/eroded.jpg", grayImage);}
}

五、图像膨胀
import org.bytedeco.javacv.Java2DFrameConverter;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class ImageResizer {public static void main(String[] args) {try {BufferedImage img = ImageIO.read(new File("E://app/images/222.jpg"));Java2DFrameConverter java2DFrameConverter = new Java2DFrameConverter();Mat inputMat = new OpenCVFrameConverter.ToMat().convert(java2DFrameConverter.convert(img));Mat kernel = opencv_imgproc.getStructuringElement(opencv_imgproc.MORPH_RECT, new Size(15, 15));Mat outputMat = new Mat();opencv_imgproc.dilate(inputMat, outputMat, kernel);Java2DFrameConverter java2DFrameConverterOutput = new Java2DFrameConverter();BufferedImage outputImg = java2DFrameConverterOutput.convert(new OpenCVFrameConverter.ToMat().convert(outputMat));ImageIO.write(outputImg, "png", new File("E://app/images/output.png"));} catch (IOException e) {e.printStackTrace();}}
}
六、裁剪图片
public class ImageResizer {public static void main(String[] args) {Mat src = opencv_imgcodecs.imread("E://app/images/111.jpg");Rect roi = new Rect(200, 100, 500, 500);Rect roi2 = new Rect(100, 100, 500, 500);Mat cropped = new Mat(src, roi);Mat cropped2 = new Mat(src, roi2);opencv_imgcodecs.imwrite("E://app/images/output444.png", cropped);opencv_imgcodecs.imwrite("E://app/images/output555.png", cropped2);}
}

七、翻转图像
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.opencv_core.Mat;public class ImageResizer {public static void main(String[] args) {Mat src = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat dst = new Mat();opencv_core.flip(src, dst, 1);opencv_imgcodecs.imwrite("E://app/images/output555.png", dst);}
}

八、添加文字
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Point;
import org.bytedeco.opencv.opencv_core.Scalar;import static org.bytedeco.opencv.global.opencv_imgproc.FONT_HERSHEY_DUPLEX;public class ImageResizer {public static void main(String[] args) {Mat image1 = opencv_imgcodecs.imread("E://app/images/111.jpg");String text = "Hello, World!";Point textOrg = new Point(50, 50);opencv_imgproc.putText(image1, text, textOrg, FONT_HERSHEY_DUPLEX, 2.0, new Scalar(250), 1,8, false);opencv_imgcodecs.imwrite("E://app/images/output.png", image1);}
}
九、添加水印
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/111.jpg");Mat watermark = opencv_imgcodecs.imread("E://app/images/666.jpg");Size size = new Size(1000, 1000);Mat resizedImage = new Mat();Mat waterResizedImage = new Mat();opencv_imgproc.resize(image, resizedImage, size);opencv_imgproc.resize(watermark, waterResizedImage, size);Mat image_with_watermark = new Mat();opencv_core.addWeighted(resizedImage, 0.7, waterResizedImage, 0.3, 0, image_with_watermark);opencv_imgcodecs.imwrite("E://app/images/output.png", image_with_watermark);}
}
十、模糊
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat dst = new Mat();opencv_imgproc.GaussianBlur(image, dst, new Size(15, 15), 0, 0, opencv_core.BORDER_DEFAULT);opencv_imgcodecs.imwrite("E://app/images/output.jpg", dst);}
}
十一、锐化
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat dst = new Mat();Mat sharpen = new Mat();opencv_imgproc.GaussianBlur(image, sharpen, new Size(0, 0), 3);opencv_core.addWeighted(image, 1.5, sharpen, -0.5, 0, dst);opencv_imgcodecs.imwrite("E://app/images/output.jpg", dst);}
}
十二、颜色
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;public class ImageResizer {public static void main(String[] args) {Mat image = opencv_imgcodecs.imread("E://app/images/222.jpg");Mat dst = new Mat();opencv_imgproc.cvtColor(image, dst, opencv_imgproc.COLOR_RGB2XYZ);opencv_imgcodecs.imwrite("E://app/images/output.jpg", dst);}
}