JavaCV入门之示例程序

/ Java / 没有评论 / 2712浏览

JavaCV入门之示例程序

最近因项目需要用到JavaCV,所以本小白在项目正式开始之前先学习了一下JavaCV,记录一下学习过程。附上第一个入门程序

1.JavaCV简介

JavaCV 是一款开源的视觉处理库,使用它可以采集视频和音频,给这些音视频编解码,然后是用指定格式封装这些音视频数据,以及用什么协议传输

GitHub: https://github.com/bytedeco/javacv

2.maven引入jar包

<dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv-platform</artifactId>
            <version>1.5.1</version>
</dependency>

3.参考github给出的样本示例创建一个java程序

例子功能为:加载指定图片,高斯平滑转换以及图像的窗口内加载。

import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;

import static org.bytedeco.opencv.global.opencv_highgui.imshow;
import static org.bytedeco.opencv.global.opencv_highgui.waitKey;
import static org.bytedeco.opencv.global.opencv_imgcodecs.imread;
import static org.bytedeco.opencv.global.opencv_imgcodecs.imwrite;
import static org.bytedeco.opencv.global.opencv_imgproc.GaussianBlur;

/**
 * @ClassName Smoother
 * @Description
 * @Author maxiangzhao
 * @Date 2019/8/1 10:31
 */
public class Smoother {
    public static void main(String[] args) {
        String fileName = "C:/Users/samurai/Pictures/ChMkJlbg2bOIJVsZAAQymyiIIs4AANIZwOWXv0ABDKz349.jpg";
        //图像加载
        Mat image = imread(fileName);
        if (image != null) {
            //高斯滤波器(GaussianFilter)对图像进行平滑处理。
            GaussianBlur(image, image, new Size(3, 3), 0);
            //图像存储
            imwrite(fileName, image);
            //窗口内显示图像
            imshow("原始图像", image);
            //无限等待按键按下
            waitKey(0);
        }
    }
}

4.运行结果

程序运行后会弹出一个有指定图像的窗口。