@(图形图像)[opencv]
视频链接
01 - Getting Setup in Visual Studio 2015 for Windows Desktop
环境配置
- 搭建环境变量:
OPENCV3_DIR
,值为...\opencv\build
Path
,值为...\opencv\build\x64\vc14\bin
- VS里新建project:Visual C++ — Win 32 Console Application(VS 2017版本里要选Windows Desktop Wizard) — Empty project
- Solution Explorer里给source files里add一个main.cpp
- 用x64来build
- 右击 Solution Explorer里的该project名—Properties
- C/C++—Additional Include Directories—
$(OPENCV3_DIR)\include
。注意这一步之前一定已经添加了main.cpp,否则没有这个选项。 - Linker—Additonal Library Directories—
$(OPENCV3_DIR)\x64\vc14\lib
- Linker—Input—Additional Dependencies—opencv_world330d.lib(注意这里的文件名以自己的版本为准)
- C/C++—Additional Include Directories—
示例代码-show a picture
此为相对路径,图片放在该project的main.cpp同级目录下
#include "opencv2\opencv.hpp"
using namespace cv;
int main(int argc, char **argv)
{
Mat a = imread("test.jpg", CV_LOAD_IMAGE_UNCHANGED);
imshow("title", a);
waitKey();
return 0;
}
02 - Loading, Showing, Saving
#include "opencv2\opencv.hpp"
using namespace cv;
int main(int argc, char **argc)
{
Mat testColor = imread("test.jpg", CV_LOAD_IMAGE_COLOR);
Mat testGray = imread("test.jpg", CV_LOAD_IMAGE_GRAYSCALE);
imshow("color", testColor);
imshow("gray", testgray);
imwrite("output.jpg", testGray);
return 0;
}
03 - Windows
- namedWindow提供比imshow更为精确的控制。
- namedWindow的第一个参数是一个string的handle,若该string第一次出现,则它指向一个新建的window,否则指向前面创建过的window。
- namedWindow的第二个参数是一个flag,代表此window的呈现方式,以
CV_WINDOW
开头,可按照字面意思理解功能。比如:
CV_WINDOW_AUTOSIZE
自动设定呈现的固定的图像大小,用户不可改变。CV_WINDOW_FREERATIO
和CV_WINDOW_KEEPRATIO
设定是否保持长宽比。
- 创建完namedWindow之后它并没有数据,只是空的window。
- 使用imshow在namedWindow中添加Matrix数据,具体见示例代码。
#include "opencv2\opencv.hpp"
using namespace cv;
int main(int argc, char **argv)
{
Mat file1 = imread("lena.tif", CV_LOAD_IMAGE_UNCHANGED);
Mat file2 = imread("lena.tif", CV_LOAD_IMAGE_GRAYSCALE);
namedWindow("Color", CV_WINDOW_FREERATIO);
namedWindow("Fixed", CV_WINDOW_AUTOSIZE);
imshow("Color", file1);
imshow("Fixed", file2);
waitKey();
return 0;
}