如何用Java OpenCV库实现图像水平镜像翻转功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计628个文字,预计阅读时间需要3分钟。
本文以实例形式,分享了使用Java+OpenCV实现图像镜像翻转的具体代码。以下为代码示例及主要使用方法:
主要使用OpenCV的`flip`方法,可以实现图像的垂直、水平及同时垂直水平翻转。
javaimport org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.core.Scalar;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;
public class ImageFlipExample { public static void main(String[] args) { // 初始化OpenCV库 System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// 读取图片 Mat src=Imgcodecs.imread(path/to/image.jpg);
// 垂直翻转 Mat vFlip=new Mat(); Imgproc.flip(src, vFlip, 0);
// 水平翻转 Mat hFlip=new Mat(); Imgproc.flip(src, hFlip, 1);
// 同时垂直水平翻转 Mat bothFlip=new Mat(); Imgproc.flip(src, bothFlip, -1);
// 保存结果 Imgcodecs.imwrite(vFlip.jpg, vFlip); Imgcodecs.imwrite(hFlip.jpg, hFlip); Imgcodecs.imwrite(bothFlip.jpg, bothFlip); }}
主要使用方法如下:
1. 使用`Imgproc.flip`方法实现图像翻转。
2.第一个参数为源图像`src`。
3.第二个参数为翻转后的图像。
4.第三个参数为翻转模式:
通过上述代码,可以实现图像的镜像翻转。
本文实例为大家分享了Java OpenCV实现图像镜像翻转效果的具体代码,供大家参考,具体内容如下
主要使用OpenCV的flip()方法,可以实现图像的垂直、水平以及同时垂直镜像翻转。
flip是Core的静态方法,用法为:
public static void flip(Mat src, Mat dst, int flipCode)
参数说明:
src:输入图像;
dst:输出图像;
flipCode:
= 0 图像向下翻转
> 0 图像向右翻转
< 0 图像同时向下向右翻转
代码如下:
public static void main(String[] args) { Mat img = Imgcodecs.imread("img/test.jpg"); Mat dst1 = new Mat(img.rows(), img.cols(), CvType.CV_8UC3); Mat dst2 = new Mat(img.rows(), img.cols(), CvType.CV_8UC3); Mat dst3 = new Mat(img.rows(), img.cols(), CvType.CV_8UC3); //向右翻转 Core.flip(img, dst1, 1); //向下翻转 Core.flip(img, dst2, 0); //同时向右向下翻转 Core.flip(img, dst3, -1); Tools.showImage(img, ".jpg", "原始"); Tools.showImage(dst1, ".jpg", "向右翻转"); Tools.showImage(dst2, ".jpg", "向下翻转"); Tools.showImage(dst3, ".jpg", "同时向右向下翻转"); }
运行结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计628个文字,预计阅读时间需要3分钟。
本文以实例形式,分享了使用Java+OpenCV实现图像镜像翻转的具体代码。以下为代码示例及主要使用方法:
主要使用OpenCV的`flip`方法,可以实现图像的垂直、水平及同时垂直水平翻转。
javaimport org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.core.Scalar;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;
public class ImageFlipExample { public static void main(String[] args) { // 初始化OpenCV库 System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// 读取图片 Mat src=Imgcodecs.imread(path/to/image.jpg);
// 垂直翻转 Mat vFlip=new Mat(); Imgproc.flip(src, vFlip, 0);
// 水平翻转 Mat hFlip=new Mat(); Imgproc.flip(src, hFlip, 1);
// 同时垂直水平翻转 Mat bothFlip=new Mat(); Imgproc.flip(src, bothFlip, -1);
// 保存结果 Imgcodecs.imwrite(vFlip.jpg, vFlip); Imgcodecs.imwrite(hFlip.jpg, hFlip); Imgcodecs.imwrite(bothFlip.jpg, bothFlip); }}
主要使用方法如下:
1. 使用`Imgproc.flip`方法实现图像翻转。
2.第一个参数为源图像`src`。
3.第二个参数为翻转后的图像。
4.第三个参数为翻转模式:
通过上述代码,可以实现图像的镜像翻转。
本文实例为大家分享了Java OpenCV实现图像镜像翻转效果的具体代码,供大家参考,具体内容如下
主要使用OpenCV的flip()方法,可以实现图像的垂直、水平以及同时垂直镜像翻转。
flip是Core的静态方法,用法为:
public static void flip(Mat src, Mat dst, int flipCode)
参数说明:
src:输入图像;
dst:输出图像;
flipCode:
= 0 图像向下翻转
> 0 图像向右翻转
< 0 图像同时向下向右翻转
代码如下:
public static void main(String[] args) { Mat img = Imgcodecs.imread("img/test.jpg"); Mat dst1 = new Mat(img.rows(), img.cols(), CvType.CV_8UC3); Mat dst2 = new Mat(img.rows(), img.cols(), CvType.CV_8UC3); Mat dst3 = new Mat(img.rows(), img.cols(), CvType.CV_8UC3); //向右翻转 Core.flip(img, dst1, 1); //向下翻转 Core.flip(img, dst2, 0); //同时向右向下翻转 Core.flip(img, dst3, -1); Tools.showImage(img, ".jpg", "原始"); Tools.showImage(dst1, ".jpg", "向右翻转"); Tools.showImage(dst2, ".jpg", "向下翻转"); Tools.showImage(dst3, ".jpg", "同时向右向下翻转"); }
运行结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

