Merge pull request #3934 from mshabunin:add-cpp-sample-project
This commit is contained in:
commit
46a6f70d88
@ -53,9 +53,9 @@ Now you have to create your CMakeLists.txt file. It should look like this:
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
project( DisplayImage )
|
project( DisplayImage )
|
||||||
find_package( OpenCV REQUIRED )
|
find_package( OpenCV REQUIRED )
|
||||||
include_directories( \f${OpenCV_INCLUDE_DIRS} )
|
include_directories( ${OpenCV_INCLUDE_DIRS} )
|
||||||
add_executable( DisplayImage DisplayImage.cpp )
|
add_executable( DisplayImage DisplayImage.cpp )
|
||||||
target_link_libraries( DisplayImage \f${OpenCV_LIBS} )
|
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
|
||||||
@endcode
|
@endcode
|
||||||
### Generate the executable
|
### Generate the executable
|
||||||
|
|
||||||
|
28
samples/cpp/example_cmake/CMakeLists.txt
Normal file
28
samples/cpp/example_cmake/CMakeLists.txt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# cmake needs this line
|
||||||
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
|
# Define project name
|
||||||
|
project(opencv_example_project)
|
||||||
|
|
||||||
|
# Find OpenCV, you may need to set OpenCV_DIR variable
|
||||||
|
# to the absolute path to the directory containing OpenCVConfig.cmake file
|
||||||
|
# via the command line or GUI
|
||||||
|
find_package(OpenCV REQUIRED)
|
||||||
|
|
||||||
|
# If the package has been found, several variables will
|
||||||
|
# be set, you can find the full list with descriptions
|
||||||
|
# in the OpenCVConfig.cmake file.
|
||||||
|
# Print some message showing some of them
|
||||||
|
message(STATUS "OpenCV library status:")
|
||||||
|
message(STATUS " version: ${OpenCV_VERSION}")
|
||||||
|
message(STATUS " libraries: ${OpenCV_LIBS}")
|
||||||
|
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
|
||||||
|
|
||||||
|
# Add OpenCV headers location to your include paths
|
||||||
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
# Declare the executable target built from your sources
|
||||||
|
add_executable(opencv_example example.cpp)
|
||||||
|
|
||||||
|
# Link your application with OpenCV libraries
|
||||||
|
target_link_libraries(opencv_example ${OpenCV_LIBS})
|
50
samples/cpp/example_cmake/example.cpp
Normal file
50
samples/cpp/example_cmake/example.cpp
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#include "opencv2/core.hpp"
|
||||||
|
#include "opencv2/imgproc.hpp"
|
||||||
|
#include "opencv2/highgui.hpp"
|
||||||
|
#include "opencv2/videoio.hpp"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace cv;
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
void drawText(Mat & image);
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
cout << "Built with OpenCV " << CV_VERSION << endl;
|
||||||
|
Mat image;
|
||||||
|
VideoCapture capture;
|
||||||
|
capture.open(0);
|
||||||
|
if(capture.isOpened())
|
||||||
|
{
|
||||||
|
cout << "Capture is opened" << endl;
|
||||||
|
for(;;)
|
||||||
|
{
|
||||||
|
capture >> image;
|
||||||
|
if(image.empty())
|
||||||
|
break;
|
||||||
|
drawText(image);
|
||||||
|
imshow("Sample", image);
|
||||||
|
if(waitKey(10) >= 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cout << "No capture" << endl;
|
||||||
|
image = Mat::zeros(480, 640, CV_8UC1);
|
||||||
|
drawText(image);
|
||||||
|
imshow("Sample", image);
|
||||||
|
waitKey(0);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawText(Mat & image)
|
||||||
|
{
|
||||||
|
putText(image, "Hello OpenCV",
|
||||||
|
Point(20, 50),
|
||||||
|
FONT_HERSHEY_COMPLEX, 1, // font face and scale
|
||||||
|
Scalar(255, 255, 255), // white
|
||||||
|
1, LINE_AA); // line thickness and type
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user