آموزش نصب OpenCV در IDE ها و پلتفرم های مختلف - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۴۸ نفر آنلاین
۱ عضو و ۴۷ مهمان در سایت حاضرند

آموزش نصب OpenCV در IDE ها و پلتفرم های مختلف [بسته شد]

+8 امتیاز
780 بازدید

نصب در VS2008 :

شما به 2 صورت می تونید OpenCV رو در اختیار داشته باشید یکی به صورت یک پکیج از قبل کامپایل شده  و دیگری هم سورس در اختیار داشته باشید و با استفاده از نرم افزار CMake سورس OpenCV رو برای سیستم عامل و کامپایلر مد نظر تون کامپایل کنید.
روش اول که حرفی توش نیست یک فایل setup مثل هم setup های دیگر فایل رو extract کرده و یک user variable هم برای opencv میسازه اما در روش دوم ابتدا نرم افزار Cmake رو نصب کرده سپس مسیر سورس و مسیری را که بایستی در آن عملیات make صورت بگیره رو هم معرفی کنید بعدش اگر خواستید می تونید options های نصب رو دستکاری کنید به نظر هم پیش فرض رو قبول کنید و بعد هم برای آن کامپایلری که میخاید استفاده کنید.سپس عملیات make رو شروع کنید سپس هم پروژه ها به صورت جدا گانه در اختیار شما قرار می گیره که بر حسب نیاز می تونید هر کدام رو که مایل باشید رو bulid کنید یک پروژه Build All وجود داره که با bulid کردن اون پروژه تمامی lib و dll و exe های مورد نظر براتون ساخته میشه.

حالا در هر 2 صورت بالا OpenCV رو تا اینجا کامپایل شده دارید 
توی vs2008 بایستی به گزینه مراجعه کنید 
Tools -> Options -> Projects and Solutions -> VC++‎‎‎ Directories
اینجا بایستی هم در بخش include مسیرهای include و در مسیر lib بایستی مسیر lib مربوط رو اضافه نماید. که اگر فرض رو براین بگیریم که OpenCV رو در داریو c:\ نصب کردید
در قسمت include مسیر زیر رو C:\OpenCV2.1\include\opencv اضافه کنید قابل توجه که در نسخه های 2.1 به بعد که تا امروز 2.4.1 هم منتشر شده شما برای استفاده از کلاس های C++‎‎‎ بایستی C:\OpenCV2.3\include رو هم اضافه نماید یعنی 2 مسیر C:\OpenCV2.3\include\opencv و C:\OpenCV2.3\include
حالا بیاید تو بخش lib ها و مسیر C:\OpenCV2.1\lib رو هم اضافه نماید اگر مایل به افزودن مسیر سورس ها بوید می تونید آنها رو هم اضافه نماید که همشون تو مسیر C:\OpenCV2.1\src هستش.

توی vs2010 مسیر VC++‎‎‎ Directoies تغییر کرده که در مسیر Project -> MySamleProject Properties...Configuration Properties -> VC++‎‎‎ Directories قرار دارد که در آنجا هم مثل vs2008 همان مسیرهایی که توضیح داده شده به کامپایلر اضافه می کنید

بعد از مراحل بالا بردید به قسمت project -> Properties -> Linker ->Input -> Additional Dependencies... در اینجا بایستی lib های موردنظر رو به پروژه اضافه کنید opencv lib های مربوط به debug و release مجزا داره که بسته به کاری که میخاید انجام بدید بایستی lib های مورد نظر رو به پروژتون اضافه کنید.
برای debug builds به صورت cv210d.lib; cxcore210d.lib; highgui210d.lib;'
و برای release builds به صورت cv210.lib; cxcore210.lib; highgui210.lib;
استفاده نمایید.

 

نحوه build کردن OpenCV به صورت Static :

آخرین نسخه کتابخانه OpenCV را از مسیر http://sourceforge.net/projects/opencvlibrary/?source=directory دانلود نماید

آخرین نسخه نرم افزار CMake را از مسیر http://www.cmake.org/files/v2.8/cmake-2.8.9-win32-x86.exe

دانلود نمائید.

در ابتدا بایستی با استفاده از نرم افزار CMake کلیه پروژه های مورد نیاز را Build نمائیم  در بخش بالایی نرم افزار CMake شما بایستی 2 مسیر را مشخص نماید

1 - مسیر مربوط به سورس فایل ها

2- مسیر پروژه های باینری ساخته شده

در پایین صفحه نرم افزار CMake کلید Configure را فشرده تا نرم افزار از روی Makefile های وجود متغیرهای مورد نظر را مقدار دهی نماید با توجه به کتابخانه های نصب شده در سیستم مقصد گزینه انتخاب شده می تواند متفاوت باشد.

در این مرحله بایستی مقدار 2 متغیر را تغییر دهیم

1-      مقدار متغیر BUILD_SHARED_LIBS را از حالت انتخاب خارج نمائید

2-      مقدار متغیر BUILD_WITH_STATIC_CRT را انتخاب نمائید

 

سپس کلید Generate را در نرم افزار CMake فشرده تا کلیه پروژه های مد نظر ایجاد شود.

در این مرحله به سراغ Visual Studio 2008 رفته و به مسیر پروژه های باینری ایجاد شده رفته و solution به نام OpenCV را باز نمائید حال به منوی Build رفته و گزینه Batch Build… را انتخاب نماید کلید SelectAll و سپس Rebuild را بفشارید سپس منتظر بمانید تا کلیه پروژه ها ساخته شود.تمامی فایل های مربوط به header ها و lib ها در فولدر Install می باشد.

حال بایستی 2مسیر Include مربوط به OpenCV را به Tools>>Options>>Projects & Solution>>vc++ directories معرفی می نمایم مسیر اول مسیر مربوط به include و مسیر دوم مربوط به فولدر OpenCV داخل آن می باشد.

 

در این مرحله پروژه خود را ایجاد نمائید.

جهت کامپایل به صورت Static بهتر است یک configuration جدید به پروژه اضافه نمائید برای اینکار به منوی

 Build->Configuration Manager رفته در بالای صفحه در بخش Active solution Configuration یک configure جدید اضافه نمائید.

پنجره Property page  را باز کرده و تنظیمات زیر را اعمال نمائید.

1-      گزینه Configuration properties->General->Use of MFC را به Use MFC in a Static Library تغییر دهید.

 

با اینکار دیگر به DLL های msvcp90.dll و msvcr90.dll  نیاز نخواهید داشت.

 نکته : در حالت Shared وجود این دو DLL الزامی می باشد در بعضی از موارد با قرار دادن این DLL ها در کنار Application نیاز به نصب Redistribute package  هم می باشد.

1-      دو مسیر مربوط به Lib های static می باشد یکی مسیر کتابخانه OpenCV  که در مسیر \lib و دیگری مربوط به کتابخانه 3rdparty که در مسیر \share\OpenCV\3rdparty\lib می باشد. این 2 مسیر را به

گزینه Configuration properties->Linker->General->Additional Library Directories اضافه نمائید.

2-      در این مرحله بایستی نام کلیه lib های موردنیاز را به پروژه اضافه نمائید.

لیست lib های مربوط به debug :

 
opencv_calib3d241d.lib
opencv_contrib241d.lib
opencv_core241d.lib
opencv_features2d241d.lib
opencv_flann241d.lib
opencv_gpu241d.lib
opencv_highgui241d.lib
opencv_imgproc241d.lib
opencv_legacy241d.lib
opencv_ml241d.lib
opencv_nonfree241d.lib
opencv_objdetect241d.lib
opencv_photo241d.lib
opencv_stitching241d.lib
opencv_ts241d.lib
opencv_video241d.lib
opencv_videostab241d.lib
opencv_calib3d241d.lib
opencv_contrib241d.lib
opencv_core241d.lib
opencv_features2d241d.lib
opencv_flann241d.lib
opencv_gpu241d.lib
opencv_highgui241d.lib
opencv_imgproc241d.lib
opencv_legacy241d.lib
opencv_ml241d.lib
opencv_nonfree241d.lib
opencv_objdetect241d.lib
opencv_photo241d.lib
opencv_stitching241d.lib
opencv_ts241d.lib
opencv_video241d.lib
opencv_videostab241d.lib
لیست lib های مربوط به Release :
opencv_calib3d241.lib
opencv_contrib241.lib
opencv_core241.lib
opencv_features2d241.lib
opencv_flann241.lib
opencv_gpu241.lib
opencv_highgui241.lib
opencv_imgproc241.lib
opencv_legacy241.lib
opencv_ml241.lib
opencv_nonfree241.lib
opencv_objdetect241.lib
opencv_photo241.lib
opencv_stitching241.lib
opencv_ts241.lib
opencv_video241.lib
opencv_videostab241.lib
 
نکته : فقط lib هایی را که درپروژه نیاز دارید اضافه نماید.
سپس lib های مربوط به 3dparity را اضافه نمائید.
لیست lib های مربوط به 3dparity:
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
zlib.lib

و در انتها user32.lib,gdi32.lib,comctl32.lib,advapi32.lib,kernel32.lib را هم به پروژه اضافه نمائید.

نکته : در هنگامی که پروژه مورد نظر dll باشد include های مربوط به mfc را از پروژه حذف نمائید.

 

بسته شد با پیغام: آموزش
سوال شده آذر 4, 1392  بوسیله ی مصطفی ساتکی (امتیاز 16,378)   16 24 66
کدوم روش نصب بهتره ؟ آیا تفاوتی با هم داره؟
اگر ویژگی خاصی نیاز ندارید می تونید از همان نسخه pre built استفاده کنید اگر ویژگی های خاصی همچون استفاده از cuda یا OpenCL دارید باید باید کتابخانه را با ویژگی های مورد نظر make کنید.
البته در نسخه های جدید OpenCV هم pre built های static هم وجود داره.
نحوه نصب opencv رو در دلفی 7 می خوام با تشکر
...