blob: e0200ae08c8aea9b0f4e890ef97f97a0cb67e3fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
OpenCV - Qt Integration
=======================
This code sample shows the basics to display OpenCV's matrix (`cv::Mat`) within a Qt GUI. The code simply load the `flughahn.jpg` image from the `assets/` directory and display it using the `QLabel` widget.
![Screenshot](http://i.imgur.com/k1et0FY.png)
Within the `python/` directory, you will see the same code written in Python.
To compile and run the code, you need to have Qt 5 installed on your computer. The code is successfully tested on the following environment:
- Mac OS X Mavericks
- Qt 5.3.0
- OpenCV 3.0.0
- Python 3.4.1
Compiling
---------
Open `ImageViewer.pro` and modify the variables to match with your system. For example, you might need to modify the paths for the includes and libraries especially if you're on Windows.
INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs
Change your working directory and compile the code by typing:
qmake
make
If everything is ok, it will produce an executable: `ImageViewer` (Linux), `ImageViewer.exe` (Windows), or `ImageViewer.app` (Mac). Run the executable and you will see the GUI like the screenshot above.
Known Issues
------------
In `ImageViewer.cpp`, the code using relative path to locate the input image:
img = cv::imread("../assets/flughahn.jpg");
If the program cannot display the image and shows the "Cannot load the input image!" warning, try to use absolute path instead. For example:
img = cv::imread("/full/path/to/flughahn.jpg");
|