Thứ Ba, 30 tháng 11, 2010

Cài đặt OpenCV trên Visual Studio 2010 – Windows 7 (x86-x64)

Thứ Ba, 30 tháng 11, 2010

OpenCV là thư viện mã nguồn mở về Computer Vision do Intel thiết kế, cung cấp các hàm, lớp ứng dụng các thuật toán về xử lý ảnh với ngôn ngữ C/C++.

Để cài đặt và sử dụng OpenCV (phiên bản hiện nay là OpenCV 2.1.0) với Visual Studio 2010 (trên Windows 7 x86_x64), cần phải download các phần sau:

1. OpenCV: thư viện OpenCV 2.1.0. Download file cài đặt tại đây .

2. CMake: phiên bản OpenCV 2.x chỉ cung cấp mã nguồn chứ không tích hợp tập thực thi và cấu hình dự án cho từng mội trường phát triển. Vì thế ta sử dụng CMake để tạo, cấu hình dự án cho phù hợp với môi trường phát triển, cụ thể ở đây là tạo project để build file .dll và .lib để sử dụng OpenCV trong Visual Studio 2010 trên Windows x64. Download file cài đặt tại đây.

Các bước cài đặt OpenCV:

1. Chạy file OpenCV-2.1.0-win32-vs2008.exe để cài đặt OpenCV. Lưu ý khi cài đặt lựa chọn: Add OpenCV to the system PATH. Đường dẫn mặc định của chương trình là: C:\OpenCV2.1

OpenCV Setup

2. Cài đặt CMake.

3. Tiếp theo, ta sẽ sử dụng CMake tạo project để build file thư viện OpenCV phù hợp với Visual Studio 2010. Vào C:\OpenCV2.1, tạo thư mục build để chứa project.

Configure CMake

4. Click nút Configure để lựa chọn môi trường phát triển, ở đây lựa chọn Visual Studio 10 Win64. Click Finish.

Configure CMake for Visual Studio 2010 win64

5. Nhấn chọn tiếp nút Configure lần nữa, sau đó nhấn nút Generate để hoàn tất việc tạo project:

Configure CMake for Visual Studio 2010 win64

6. Vào C:\OpenCV2.1\build, mở file OpenCV.sln vừa tạo:

OpenCVBuild project

7. Khi biên dịch file .dll và .lib cho OpenCV, nên lưu ý chế độ của project là debug hay release. Riêng trong trường hợp này, biên dịch để sử dụng trong Visual Studio 2010 trên Windows 7 x64, để tránh xảy ra lỗi : the application was unable to start correctly 0xc0150002 về sau, nên để chế độ là release.

Release Mode VS 2010

8. Biên dịch chương trình, sau khi biên dịch, ta sẽ có các file OpenCV dll trong C:\OpenCV2.1\build\bin\Release và OpenCV lib trong C:\OpenCV2.1\build\lib\Release. Ngoài ra, các tập tin header .h nằm ở địa chỉ: C:\OpenCV2.1\include\opencv

Build OpenCV with VS2010

9. Tiếp theo, ta sẽ tạo thử một project chạy thử sử dụng thư viện vừa biên dịch trên. Tạo mới Project, đặt tên là OpenCV Demo:

New Project VS2010

10. Cấu hình Visual Studio 2010 để reference các đường dẫn đến các file .h, .dll, .lib. Với phiên bản cũ hơn, chẳng hạn như Visual Studio 2008, khi cấu hình sẽ vào Tools-> Options-> VC++ Directories để cấu hình cho tất cả các project, tuy nhiên, ở Visual Studio 2010 thì chỉ cho phép cấu hình riêng với từng project. Click chuột phải vào project, chọn Properties:

Project Properties - VS 2010

11. Cấu hình VC++ Directories:

  • Include Directories... add: 'C:\OpenCV2.1\include\opencv;'
  • Library Directories:
        • Debug Builds.. add: 'C:\OpenCV2.1\build\lib\Debug’, ‘C:\OpenCV2.1\build\bin\Debug’
    • Release Builds.. add: 'C:\OpenCV2.1\build\lib\Release’, ‘C:\OpenCV2.1\build\bin\Release’
  • Source Directories... add: 'C:\OpenCV2.1\src\cv; C:\OpenCV2.1\src\cvaux; C:\OpenCV2.1\src\cxcore; C:\OpenCV2.1\src\highgui; C:\OpenCV2.1\src\ml;'
  • Linker -> Input -> Additional Dependencies...

    • Debug Builds.. add: 'cv210d.lib; cxcore210d.lib; highgui210d.lib;'
    • Release Builds.. add: 'cv210.lib; cxcore210.lib; highgui210.lib;'

    Configure VC++ Directories - VS2010

    Configure VC++ Directories for OpenCV - VS2010

    Configure VC++ Directories for OpenCV - VS2010

    12. Nội dung file OpenCVDemo.cpp:

    #include "stdafx.h"

    #include <cv.h>
    #include <cxcore.h>
    #include <highgui.h>

    int _tmain(int argc, _TCHAR* argv[])
    {
        IplImage *img = cvLoadImage("test.jpg");
            cvNamedWindow("Image:",1);
            cvShowImage("Image:",img);

            cvWaitKey();
            cvDestroyWindow("Image:");
            cvReleaseImage(&img);

            return 0;

    }

    13. Copy file test.jpg vào C:\Users\USERNAME\Documents\Visual Studio 2010\Projects\OpenCVDemo\OpenCVDemo để chạy thử chương trình. Biên dịch chương trình ta được kết quả:

    OpenCV Demo

  • 0 nhận xét:

    Đăng nhận xét