• [学习opencv]图像读取写入,加减乘除


    opencv这个图像库两年前就会用了,本科毕业设计就是用的他,不过其中有很多函数直到现在我也没怎么用过。

    关于这个库的学习,我自己的目标是只需要学会怎样调用库函数完成目标就可以了,至于原理性的东西我就不去深究了,原理的东西我会在matlab中实现的。

    平台是ubuntu+opencv2,具体版本我忘了。不过2之后的应该都可以。

    第一个先练手的程序,我尽量用C++版的:

    #include "cv.h"
    #include "highgui.h"
    #include <iostream>
    
    using namespace std;
    using namespace cv;
    
    int main(int argc, char* argv[])
    {
            Mat img1 = imread("maki.jpg"); 
            Mat img2 = imread("misaka.jpg");
    
            int height=img1.rows;                //行数
            int width=img1.cols;                   //列数
            int dims=img1.dims;                    //维数
            cout<<height<<"  "<<width<<"  "<<dims<<endl;
    
            Mat tmp(height,width,CV_8UC3,Scalar(2,2,2));  //产生一个[height width 3]所有元素全为2的矩阵
            Mat re;    
            //运算符重载真是让人喜欢
            re=img1+Scalar(100,100,100);                    //图像相加
            imshow("image1", re);
    
            re=img1-img2;                      //图像相减
            imshow("image2",re);
    
            re=img1*2;                      //图像和一个数相乘    
            imshow("image3",re);
    
            re=img1/2;                    //图像和一个数相除
            imshow("image4",re);
    
            re=img1.mul(tmp);            //img1和tmp每个元素相乘
            imshow("image5",re);
            Vec3i s=re.at<Vec3b>(1,1);   //数据访问
            cout<<s.val[0]<<"  "<<s.val[1]<<"  "<<s.val[2]<<endl;
    
            imwrite("re.jpg",re);
            waitKey();
    
            return 0;
    }

    vim需要重新设置以方便编译,.exrc文件加入如下代码:

    " C++的编译和运行
    map <F6> :call CompileRunGpp()<CR>
    func! CompileRunGpp()
    exec "w"
    exec "!g++ `pkg-config opencv --libs --cflags opencv` % -g -o %<"
    exec "! ./%<"
    endfunc

    以后写完直接按F6就可以编译运行了。

  • 相关阅读:
    20162309《程序设计与设计结构》第一周学习总结
    20162309《程序设计与数据结构》课程总结
    网络编程与安全实验报告
    四则运算挑战出题
    Android实验报告
    四则运算第二周实验报告
    XP实验报告
    20162319 2017-2018-1 《程序设计与数据结构》第3周学习总结
    20162319 2017-2018-1 《程序设计与数据结构》第1周学习总结
    结对编程-马尔克夫链
  • 原文地址:https://www.cnblogs.com/tiandsp/p/3029755.html
Copyright © 2020-2023  润新知