zoukankan      html  css  js  c++  java
  • Mac上安装openCV(Java版本)

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt410

    Install and use OpenCV 3.0 on Mac OS X with Eclipse (Java)

    A final year student is currently working on a Java project in Eclipse using OpenCV . As this is something that other students have asked me, this is a summary of what we have done by putting together a few tutorials available online:

    Prerequisites: Mac OS X 10.10 and XCode 6. Before starting the installation, make sure you have:

    1. Apache Ant installed. You can install Ant using Homebrew. If you don’t have Homebrew, install it using the following command:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    Then, update brew with brew update and finally install Ant with brew install ant

    1. Make sure you have CMake installed. You can download a binary file for Mac here: http://www.cmake.org/download/ After extracting the .dmg file, copy it to the /Applications/ folder.

    If you have Ant and CMake installed, download OpenCV 3.0 for Mac from this link: http://opencv.org/downloads.html. Extract the file and this will create a new directory called
    opencv-3.0.0/ (or something similar if you use a more recent version). Open a terminal and navigate to this directory. You can now start the compilation process:

    • Run cmake with the following command:
      /Applications/CMake.app/Contents/bin/cmake CMakeLists.txt. It shouldn’t take long. Check the output and make sure that java is listed as one of the modules to be installed.

    • Type make and go for a cup of tea, the compilation process will require a few minutes…

    If everything goes well you should be able to compile everything and you can now start Eclipse. I’m using Eclipse Luna but I guess the process is very similar for other versions. Following the instructions available at http://docs.opencv.org/doc/tutorials/introduction/java_eclipse/java_eclipse.html, let’s create a user library and add it to a project that will make use of OpenCV:

    • In Eclipse, open the menu Eclipse -> Preferences -> Java -> Build Path -> User Libraries.  Click “New” and enter a name, I’m using opencv-3.0.0.

    Screen Shot 2015-09-04 at 20.44.11

    • Click on the name of the library so that it becomes blue, then click on the right on “Add external JARs”. Browse to the directory where you have compiled OpenCV, open the bin/ directory and select “opencv-300.jar”. The screen should look more or less like this:

    Screen Shot 2015-09-04 at 20.47.15

    • Now click on Native library location (None) so that it becomes blue, then click on Edit and you should get something similar to this:

    Screen Shot 2015-09-04 at 20.48.32

    • Click on “External Folder…”, and again select the directory where you have compiled OpenCV and click on the lib/ directory.  Confirm and press OK (3 times).

    If you want to use the OpenCV Java API you need to create an Eclipse (Java) project and add the library created above:

    Select File -> New -> Java Project. You can use any name you want, say opencv-test.

    Right-click on the newly created project, select properties, then Library -> Add Library… -> User Library. Tick “opencv-3.0.0″, press finish and then OK.

    You are now ready to test that everything went well. You can start with the following simple code taken from http://docs.opencv.org/doc/tutorials/introduction/java_eclipse/java_eclipse.html:

    import org.opencv.core.Core;import org.opencv.core.CvType;import org.opencv.core.Mat; public class Hello{
       public static void main( String[] args )
       {
          System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
          Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
          System.out.println( "mat = " + mat.dump() );
       }}

    If this code works it should print a simple matrix. If you want to try something slightly more interesting, you could try to detect a face with the following code, taken from https://blog.openshift.com/day-12-opencv-face-detection-for-java-developers/ and adapted for OpenCV 3 (make sure to change the string constants in the source code below!)

    import org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.core.MatOfRect;import org.opencv.core.Point;import org.opencv.core.Rect;import org.opencv.core.Scalar;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;import org.opencv.objdetect.CascadeClassifier; public class FaceDetector {     public void run() {         System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
            System.out.println("Starting...");         // Change this path as appropriate for your configuration.
            CascadeClassifier faceDetector = new CascadeClassifier("/PATH/TO/opencv-3.0.0/data/haarcascades/haarcascade_frontalface_alt.xml");         // Change this path as appropriate, pointing it to an image with at least a face...
            Mat image = 
                    Imgcodecs.imread("/Users/franco/franco.jpg"); 
            MatOfRect faceDetections = new MatOfRect();
            faceDetector.detectMultiScale(image, faceDetections);         System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));         for (Rect rect : faceDetections.toArray()) {
                Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height),                    new Scalar(0, 255, 0));
            }         // Change this path as appropriate for your system. 
            String filename = "/Users/franco/ouput.png";
            System.out.println(String.format("Done. Writing %s", filename));
            Imgcodecs.imwrite(filename, image);
        }     public static void main (String[] args) {
        	FaceDetector fd = new FaceDetector();
        	fd.run();
        }}
  • 相关阅读:
    android开发中调用python代码(带参数)
    安卓开发中实现自动点击功能、获取网络信息’-博客新人初来乍到,欢迎大佬多多指教。
    一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
    EditText搜索关键字,返回结果匹配关键字改变颜色
    Android studio无法创建类和接口问题解决办法。提示 Unable to parse template "Class"
    我的主页
    博客园美化-coffee
    apple面容、指纹验证使用
    iOS数据库FMDB操作
    UIBezierPath绘图基础教程
  • 原文地址:https://www.cnblogs.com/grefr/p/6087947.html
Copyright © 2011-2022 走看看