OpenCV环境搭建及简单示例

来源:互联网 发布:linux自动分区脚本 编辑:程序博客网 时间:2024/05/20 00:10

@(图形图像)[opencv]
视频链接

      • - Getting Setup in Visual Studio 2015 for Windows Desktop
        • 环境配置
        • 示例代码-show a picture
      • - Loading Showing Saving
      • - Windows

01 - Getting Setup in Visual Studio 2015 for Windows Desktop

环境配置

  1. 搭建环境变量:
    • OPENCV3_DIR,值为...\opencv\build
    • Path,值为...\opencv\build\x64\vc14\bin
  2. VS里新建project:Visual C++ — Win 32 Console Application(VS 2017版本里要选Windows Desktop Wizard) — Empty project
  3. Solution Explorer里给source files里add一个main.cpp
  4. x64来buildAlt text
  5. 右击 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(注意这里的文件名以自己的版本为准)

示例代码-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

  1. namedWindow提供比imshow更为精确的控制。
  2. namedWindow的第一个参数是一个string的handle,若该string第一次出现,则它指向一个新建的window,否则指向前面创建过的window。
  3. namedWindow的第二个参数是一个flag,代表此window的呈现方式,以CV_WINDOW开头,可按照字面意思理解功能。比如:
    • CV_WINDOW_AUTOSIZE自动设定呈现的固定的图像大小,用户不可改变。
    • CV_WINDOW_FREERATIOCV_WINDOW_KEEPRATIO设定是否保持长宽比。
  4. 创建完namedWindow之后它并没有数据,只是空的window。
  5. 使用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;}

Alt text

原创粉丝点击