javacv1.2调用,eclipse重新生成jar包

来源:互联网 发布:淘宝陈枝记铁锅有毒 编辑:程序博客网 时间:2024/06/15 11:35

javacv1.2调用,eclipse重新生成jar包
最近需要将opencv转到java环境下运行,故想到了用javacv来实现(boofcv仍在调试中,下篇介绍),
本文主要介绍javacv包的重新编译和调用。
 1.为什么要重新编译生成jar包?
(1)在网上下载的javacv1.2是源码,需要重新jar包来实现相应的调用功能呢!
(2)网上下载的jar包不能正确调用,会出现无法找到调用函数的原因(网上给出的原因是环境配置不对,
但尝试多种方法仍无解,所以放弃……)
2.如何编译:
(1)导入:因为源码包中都存在pom.xml,所以eclipse中file-->import

                        
之后就是

                 
finish就可以啦!
(2)重新编译打包
  工程右键-->run as -->maven build(此步很关键)

            
  其中workspace直接加载源码位置就好,goals设置为package;Profiles设置为local
此步很慢需要等一会儿
需要联网操作,因为会下载很多东西
 这样我们就可以获得想要的jar包啦,下边我们调用自己生成的jar包。
    自己打包会生成四个jar包
opencv.jar、opencv-windows-x86_64.jar、javacv1.2.jar、javacpp.jar
     可以新建一个java project ,并在相应的路径下新建libs文件夹,将上述可能的jar包复制到libs文件夹中之后将jar包加载进来(记得先刷新下工程,按F5 就好),选中工程右键-->build path-->configure build path-->add jars,选择相应的jar包就可以,加载后会出现


 之后可以添加自己函数进行实验或者应用啦


import org.bytedeco.javacv.CanvasFrame;  import org.bytedeco.javacv.OpenCVFrameConverter;  import org.bytedeco.javacv.FrameGrabber.Exception;  import org.bytedeco.javacv.OpenCVFrameGrabber; 
public class JavavcCameraTest  {  public static void main(String[] args) throws Exception, InterruptedException  {      OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);        grabber.start();   //开始获取摄像头数据      CanvasFrame canvas = new CanvasFrame("摄像头");//新建一个窗口      canvas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        canvas.setAlwaysOnTop(true);            while(true)      {          if(!canvas.isDisplayable())          {              grabber.stop();              System.exit(2);          }          canvas.showImage(grabber.grab());//获取摄像头图像并放到窗口上显示          Thread.sleep(50);//0.05秒刷新一次图像      }  }  }  
验证可以正常调用本机摄像头。

      存在问题:javacv1.2调用的是opencv3.1我们在网上找到的例子多数都是先前版本,就存在opencv2到opencv3系列的更新问题,比如Iplimage,Mat替代问题等等,还有很多工作要做,如果适应于opencv3编写代码则不存在上述问题,好好学习……

       



       





1 0
原创粉丝点击