OpenCV -1 -简单图像处理

OpenCV -1 -简单图像处理

使用语言:Java 1.8
操作系统:windows x64
OpenCV:4.1.1


项目环境的搭建

  • 官网下载opencv对应版本环境的文件,安装:opencv-4.1.1-vc14_vc15.exe
  • idea加载jar包:…\opencv\build\java\opencv-411.jar
  • 然后就可以使用了。

加载OpenCV并简单处理图片

加载OpenCV

这里需要一些小抄介绍OpenCV:

该库具有2500多种优化算法,其中包括一整套经典和最新的计算机视觉和机器学习算法。这些算法可用于检测和识别人脸,识别物体,对视频中的人类动作进行分类,跟踪相机运动,跟踪运动物体,提取物体的3D模型,从立体相机产生3D点云,将图像缝合在一起以产生高分辨率整个场景的图像,从图像数据库中查找相似的图像,从使用闪光灯拍摄的图像中消除红眼,跟随眼睛的运动,识别风景并建立标记以将其与增强现实叠加在一起等。

在使用OpenCV之前需要加载它的本地库。

OpenCV用C ++原生编写,虽然加载了jar包,但是真正的处理不在这里。所以需要加载opencv_java411.dll的运行库。

加载代码:

 System.load("D:\\OpenCV\\opencv\\build\\java\\x64\\opencv_java411.dll");
// 没错。就这么调用一个方法就可以了 ╮(╯_╰)╭

加载图片处理

OpenCV内置了很多的API方法,旋转,过滤,调通道等等

 public void run() {
     	//加载图片
        Mat img = Imgcodecs.imread("D:\\ijworkspace\\meaen_test\\data\\test.jpg");
        //中值滤波将图像的每个像素用邻域 (以当前像素为中心的正方形区域)像素的 中值 代替
        //图像平滑处理:中值滤波:输入、输出、基数
        Imgproc.medianBlur(img, img, 7);
        //旋转
        Point center = new Point(img.width() / 2.0, img.height() / 2.0);
        Mat affineTrans = Imgproc.getRotationMatrix2D(center, 90.0, 1.0);
        Imgproc.warpAffine(img, img, affineTrans, img.size(), Imgproc.INTER_NEAREST);
     	//图片输出
        Imgcodecs.imwrite("D:\\ijworkspace\\meaen_test\\data\\test-end.png", img);
     	//释放资源
        img.release();
    }

执行之后就可以有对应的结果图片查看效果了!!!!!


2019-11-1 小杭
OpenCV从入门到放弃现在正式开始了。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章