I. Cài đặt.
Download OpenCV 2.3.1 Here.
1. Download về và mở setup (thực tế là nó extract). Giả sử giải nén ở thư mục: C:\OpenCV231
2. Download và setup cmake. Link here.
3. Chạy cmake-gui. Trong mục "Where is the source code" Chọn thư mục giải nén (C:\OpenCV231). Trong mục "Where to build the binaries" chọn C:\OpenCV231\smvc (tự tạo thư mục này). Click Configure.
Chọn Visual Studio 10 (đối với x86) và Visual Studio 10 x64 với bản x64. Chọn "Use default native compiler". Click Finish.
5. Bản danh sách tùy chọn hiện ra. Click vào tùy chọn "install_c_examples". Sau đó click "Generate".
6. Mở OpenCV.sln lên. Chọn "Debug" trong Solution configuration. Nhấn F7 để build. (có 3 projects bị skippped, đừng lo :D ). Sau đó chọn "Release" và F7 tiếp.
7. Copy thư mục "lib" vaf "bin" từ C:\OpenCV231\msvc sang C:\OpenCV231. Tương tự, copy thư mục "include" từ C:\OpenCV231\build sang C:\OpenCV231\Include. Nếu không được thì thử copy include vào C:\OpenCV231.
8. Thêm 2 thư mục sau vào environment variables:
C:\OpenCV231\bin\ReleaseControl Panel -> System -> Advanced System Settings -> Environment variables và thêm 2 thực mục đó vào biến "path".
C:\OpenCV231\bin\Debug
II. Thiết lập:
1. Tạo một dự án "Win 32 console application".
2. Trong Solution Explorer, click chuột phải vào project và chọn Properties. Chọn VC++ Directories. Trong mục Include Directories, thêm 2 thư mục:
C:\OpenCV231\include3. Ở thiết lập "Debug", trong Library Directories, thêm thư mục sau:
C:\OpenCV231\include\opencv
C:\OpenCV231\lib\DebugĐối với thiết lập "Release" là:
C:\OpenCV231\lib\Release.4. Chọn Linker -> Input. Trong "Additional Dependencies" chép danh sách sau (đối với thiết lập Debug):
opencv_calib3d231d.lib
opencv_contrib231d.lib
opencv_core231d.lib
opencv_features2d231d.lib
opencv_flann231d.lib
opencv_gpu231d.lib
opencv_haartraining_engined.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_legacy231d.lib
opencv_ml231d.lib
opencv_objdetect231d.lib
opencv_ts231d.lib
opencv_video231d.lib
Đối với thiết lập Release:III. Cấu hình x64:
opencv_calib3d231.lib
opencv_contrib231.lib
opencv_core231.lib
opencv_features2d231.lib
opencv_flann231.lib
opencv_gpu231.lib
opencv_haartraining_engine.lib
opencv_highgui231.lib
opencv_imgproc231.lib
opencv_legacy231.lib
opencv_ml231.lib
opencv_objdetect231.lib
opencv_ts231.lib
opencv_video231.lib
1. Project > Properties chọn Configuration Properties.
2. Mục Active Solution Platform chọn new
3.
4. Trong hộp thoại New Solution Platform ,Mục Type or select the new platform, chọn x64. Mục Copy settings from chọn Win32. Stick vào Create new project platform. Nhấn OK.
Lưu ý: Các phiên bản trước sử dụng #include <cv.h> sẽ được thay bằng #include <opencv2/opencv.hpp>
Log:
- Phiên bản OpenCV 2.3.1 và Visual Studio 2012 Express không tương thích và xảy ra lỗi, chủ yếu là các lỗi liên quan đến "std::tuple" - Các khắc phục: Cập nhật bản OpenCV mới, hoặc sử dụng các bản Visual Studio cũ.
Phiên bản OpenCV 2.4.6 và VS 2012 bị lỗi API "imread" trong chế độ Debug. Giải pháp: Dùng Release hoặc sử dụng API của C sau đó convert IplImage sang cv::Mat.Lỗi khi sử dụng CMake. Trong trường hợp quá trình config bị lỗi thì ta xóa sạch những file đã được CMake generate trước đó và config lại từ đầu.
Giải pháp cho việc tạo nhiều Project: Khi phải thường xuyên tạo các project, việc chỉnh lại các config là vô cùng bất tiện. Dưới đây là 1 số tips giúp giảm thời gian config:
- Chép thư mục C:\OpenCV231/include vào thư mục C:\Program Files (x86)\Microsoft Visual Studio [Số phiên bản]\VC\include .
- Chép thư mục C:\OpenCV231/lib/[Release/Debug] vào thư mục C:\Program Files (x86)\Microsoft Visual Studio [Số phiên bản]\VC\lib\ đối với bản x32, đối với bản x64 thì chép vào C:\Program Files (x86)\Microsoft Visual Studio [số phiên bản]\VC\lib\amd64.
- Sau khi làm 2 cách trên, ta không cần config các path đến file header và lib nữa. Chuyện còn lại duy nhất cần làm khi config là thêm các file linker và trong Input -> Linker (mục 4 phía trên).Lưu ý đối với các bản chạy x64 cần phải chuyển platform sang amd64 mới chạy được.
Em làm ko được, anh có thể dùng teamview giúp em ko? YH của em là codonminhai_qt.
ReplyDeleteMong anh giúp đỡ
Khả năng dịch English cũng khá tốt nhưng vẫn còn thiếu và sai một số lỗi:
ReplyDeleteTương tự, copy thư mục "include" từ C:\OpenCV231\build sang C:\OpenCV231\include nhé chứ ko phải C:\OpenCV231 và khi dịch ko nên bỏ qua chi tiết dù nhỏ,:D
Cảm ơn nhận xét của bạn, mình xin tiếp thu :)
ReplyDeleteMinh dung vs2010 32bit thi co can Cấu hình x64 khong ban(III. Cấu hình x64: )
ReplyDeleteKhông bạn, cấu hình x86 thôi
Deletebạn ơi cho mình hỏi tạo 1 project ví dụ như hello world thế nào vậy, mình tạo mãi mà không được, bạn làm ví dụ được k
ReplyDeleteNếu bạn làm đúng theo hướng dẫn thì chắc chắn sẽ được. Chúc bạn thành công
DeleteChào bạn Đăng Khoa, mình muốn làm một project vừa sdung opengl vừa sdung opencv. Bạn có thể chỉ giúp mình cái configure cả 2 cái opencv và opengl vào cùng 1 project không? Mình cảm ơn bạn và rất cần sự giúp đỡ của ban. Cảm ơn bạn.
ReplyDeleteBạn cứ config giống như 2 project độc lập, không sao cả. :)
Deleteminh bien dich thi bi loi:
ReplyDeleteThe system cannot find the file specified
mong ban huong dan cach khac phuc giup !
mình chưa gặp lỗi này bao giờ :(
Deletebạn Dang Khoa ơi cho minh hỏi tí nhé,mình chạy Cmake gui mà khi an vào configure
ReplyDeletethì nó báo lối " eror in configuration process, project file may be invailid", mac dù đã tạo sẵn project và buil nó dc rồi.Mong được giúp đỡ cách xử lí,cám ơn bạn nhiều!
Mình nhớ thường trong cMake nó không báo lỗi vậy. Bạn có thể copy toàn bộ output củ cmake không? Có thể mình nhận ra đc 1 số lỗi.
Deletedata visualization tool
ReplyDeleteSQIAR (http://www.sqiar.com/solutions/technology/tableau) is a leading Business intelligence Company.Using Tableau,SQIAR rapidly transform your sea of uncorrelated data into meaningful interactive and actionable visual insights.SQIAR Provide Services in United kingdom and USA.
trên bản vs2013 x64 thì làm sao bạn
ReplyDeleteMình tải Cmake về nhưng ko có phần setup. Bạn có thể giúp mình qua teamview dc k? Mail mình là viettrung92@gmail.com
ReplyDelete