opencv学习之旅--基础教程(图片读取,显示,写入)

本人是在Ubuntu下做开发的,首先配置一下集成开发环境,本人用的是Qt5.11.0版本。下载地址:点击打开链接

下载之后就是安装,安装步骤很简单,在这里就不介绍了。启动Qt,建立Qt Console Application 项目。


在pro文件添加opencv头文件路径和库文件路径:本人采用的都是绝对路径添加的。

INCLUDEPATH += /usr/local/include
LIBS +=  /usr/local/lib/libopencv_highgui.so \
         /usr/local/lib/libopencv_core.so \
        /usr/local/lib/libopencv_imgproc.so \

        /usr/local/lib/libopencv_imgcodecs.so


本人的主要程序代码如下:


    cv::Mat img1 = cv::imread("timg.jpg");

    cv::namedWindow("Test1");

扫描二维码关注公众号,回复: 1717919 查看本文章
    if(!img1.data)
    {
        std::cout<<" picture not exist";
        exit(0);
    }
    cv::imshow("Test1", img1);
    cv::Mat result;
    cv::flip(img1, result, 1);
    cv::namedWindow("OutIamge");
    cv::imshow("OutIamge", result);
    cv::imwrite("outimage.jpg", result);

运行效果如下


下面对函数做如下说明:

第一件事是声明一个图像变量,变量类型为cv::Mat类型。接着一个简单的读取函数,将文件读取,解码以及内存的分配。

cv::nameWindow()函数是定义一个窗口,参数是窗口的名称,

img1.data此处的data事实上是指向已分配的内存块的指针,包括图像数据,当不存在数据时,它被简单的设置为0.

cv::imshow()是显示图像

cv::flip(img1,result,1)函数将图像水平反转,如果第三个参数设置为0表示垂直反转,如果为负数,表示既有水平反转也有垂直反转。

cv::imwrite()函数是写入图像,文件名的后缀表示保存图像的编码格式。

cv::Mat类简单介绍。cv::Mat类是用于保存图像以及其他矩阵数据的数据结构。默认情况下,它们的尺寸为0,但我们自己也可以指定初始尺寸:cv::Mat ima(240, 320, CV_8U, cv::Scalar(100));

猜你喜欢

转载自blog.csdn.net/yangxueyangxue/article/details/80780919