OpenCV Programming with Visual Studio Nicolas ROUGON ARTEMIS - - PowerPoint PPT Presentation

opencv programming with visual studio
SMART_READER_LITE
LIVE PREVIEW

OpenCV Programming with Visual Studio Nicolas ROUGON ARTEMIS - - PowerPoint PPT Presentation

High Tech Imaging IMA 4509 | Visual Content Analysis OpenCV Programming with Visual Studio Nicolas ROUGON ARTEMIS Department Nicolas.Rougon@telecom-sudparis.eu Institut Mines-Tlcom Installing OpenCV for Windows Download / install


slide-1
SLIDE 1

Institut Mines-Télécom

OpenCV Programming with Visual Studio

Nicolas ROUGON

ARTEMIS Department

Nicolas.Rougon@telecom-sudparis.eu

High Tech Imaging

IMA 4509 | Visual Content Analysis

slide-2
SLIDE 2

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Installing OpenCV for Windows

■ Download / install latest version

  • pencv.org/releases.html

> OPENCVDIR

  • Precompiled multi-architecture build tree

OPENCVDIR/build = BUILD − Architecture/IDE-specific* subtrees BUILD/x{64|86}/vc{14|15} = LOCAL

*vc14 | vc15 > Visual Studio 2015 | 2017

  • Build tree structure

Release | Debug configurations

− BUILD/include header files

*.h *.hpp

− LOCAL/lib static libraries

*.lib | *d.lib

− LOCAL/bin dynamic libraries

*.dll | *d.dll

slide-3
SLIDE 3

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Installing OpenCV for Windows

■ System configuration

  • If administration rights

− Open Windows Control panel | Système et Sécurité | Système − Open dialog Paramètres système avancés − Open dialog Variables d’environnement − Update PATH from list Variables système

► add LOCAL/bin

  • If no administration rights

− Go to directory x{64|86}/{Release|Debug} of your current Visual Studio solution tree

► copy LOCAL/bin/*.dll

slide-4
SLIDE 4

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Installing Visual Studio

■ Download Visual Studio 2017

  • 3 versions available

Community − Free − Targeted to students &

  • pen-source developers

− Modular, with a variety of supported languages & frameworks ► sufficient for standard use Professional | Enterprise − Commercial − Targeted to small | large teams/projects/firms − Extended | end-to-end solution

visualstudio.com/fr/vs/community

slide-5
SLIDE 5

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Installing Visual Studio

■ Download Visual Studio 2017

  • 2 platforms available

Windows 7/10 ► Install package Desktop development with C++ macOS − C++ not supported ► A solution for Mac users is to create a Virtual Machine and install Visual Studio 2017 for Windows on it

slide-6
SLIDE 6

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

OpenCV for Windows @ TSP

■ Computer Labs configuration

Community 2017 Full installation System PATH includes LOCAL/bin 4.1.0 for Windows OPENCVDIR = C:/Program Files/OpenCV BUILD = OPENCVDIR /build LOCAL = BUILD/x64/vc15

slide-7
SLIDE 7

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Create generic Visual Studio project for OpenCV

  • Create a new project

= PROJECT

► set project type as Visual C++ | Application console Windows

slide-8
SLIDE 8

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Create generic Visual Studio project for OpenCV

  • Create a new project

► set configuration as Release for platform x64

slide-9
SLIDE 9

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Configure project properties

  • From the Solution Explorer panel

− Right-click over project name to pop project menu

► select menu item Properties

slide-10
SLIDE 10

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Configure project properties > Include path

  • Category C/C++ | Général

− Item Autres répertoires Include

► add BUILD/include

slide-11
SLIDE 11

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Configure project properties > Library path

  • Category Editeur de liens | Général

− Item Répertoires de bibliothèques supplémentaires

► add LOCAL/lib

slide-12
SLIDE 12

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Configure project properties > Libraries

  • Category Editeur de liens | Entrée

− Item Dépendances supplémentaires

► add opencv_world410.lib

slide-13
SLIDE 13

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Configure project properties > MS secured C/C++ routines

  • Category C/C++ | Préprocesseur

− Item Définitions de préprocesseur

► add _CRT_SECURE_NO_WARNINGS

slide-14
SLIDE 14

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Configure project properties > Precompiled headers

  • Category C/C++ | En-têtes précompilés

− Item En-têtes précompilés

► set option Sans utiliser les en-têtes précompilés

slide-15
SLIDE 15

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Remove precompiled headers-related files from solution

  • List Fichiers source

► delete stdafx.cpp

  • List Fichiers d’en-têtes

► delete stdafx.h targetver.h

slide-16
SLIDE 16

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Save all

► The resulting Visual Studio solution folder provides a template

which can used for developing your own OpenCV applications

  • Solution folder structure

AppName AppName.sln AppName AppName.vcxproj AppName.vcxproj.filters AppName.vcxproj.user x64 x64

Solution configuration file Project configuration files Built solution subfolders

slide-17
SLIDE 17

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Instantiating the template

  • In Windows Explorer

− Create a copy of the template folder = NewApp

► rename solution & project configuration files accordingly ► delete built solution folders

NewApp NewApp.sln NewApp NewApp.vcxproj NewApp.vcxproj.filters NewApp.vcxproj.user

Solution configuration file Project configuration files

slide-18
SLIDE 18

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Instantiating the template

  • Use a text editor to replace references to template AppName

by NewApp in configuration files − solution configuration = NewApp.sln

► section Project

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = “NewApp", “NewApp\NewApp.vcxproj", "{E5E08792-BA04-4B4B-86AA-991FF5F578BF}“

− project configuration = NewApp.vcxproj

► XML tag RootNamespace

<RootNamespace>NewApp</RootNamespace>

slide-19
SLIDE 19

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Instantiating the template

  • Open the solution NewApp.sln in Visual Studio
  • In the Solution Explorer

− Update source & header file lists according to your application features

  • Build the solution
slide-20
SLIDE 20

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Configuring Visual Studio for OpenCV

■ Instantiating the template

  • Solution folder structure > built solution subfolders

AppName AppName x64 x64 Release | Debug AppName.exe Release | Debug

Compilation subtree

> objects & logs

Application subtree

> executable

slide-21
SLIDE 21

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Helpers

■ Sample project

www-public.tem-tsp.eu/~rougon/IMA4103 Slides | Helpers > OpenCV Sample Routines

! project properties compliant with OpenCV installation @ TSP

■ Sample code

Available in OpenCV source tree OPENCVDIR/source = SOURCE

SOURCE samples cpp tutorial_code

Complete tutorial C++ sample routines

slide-22
SLIDE 22

Institut Mines-Télécom

IMA 4509 - Nicolas ROUGON

Helpers

■ Online documentation

docs.opencv.org Reference | Tutorials | QuickStart | Examples

■ Online resources

  • pencv.org > Resources

Books | Publications | Useful links

■ Q&A Forum

anwers.opencv.org

slide-23
SLIDE 23

Institut Mines-Télécom

OpenCV Programming with Visual Studio

Nicolas ROUGON

ARTEMIS Department

Nicolas.Rougon@telecom-sudparis.eu

High Tech Imaging

IMA 4509 | Visual Content Analysis