OPencv学习之十一——一点小总结(编程小错误,数据类型,常用类)

小错误:

1、不要错用标识符当变量(如:threshold)

2、显示图像的窗口名,跟踪条名尽量用英文,低版本的不兼容中文(2.4以上的兼容)。


数据类型

请参考:https://blog.csdn.net/u010368556/article/details/79179669

 vector: 

<1>解释:容器,可以存放各种类型的对象,是一个动态数组,存放各种类型的数据;
         注意:如果要表示的向量长度较长(需要为向量内部保存很多数),容易导致内存泄漏,而且效率会很低;

<2>方式:
        vector<Point2f> ----用于存放float类型的数据,这里是二维点向量,也可以将Point2f换成int等其他类型;
        vector<Point2i> ----用于存放int类型的数据;
        vector<Point2d> ----用于存放double类型的数据;
        vector<vector<Point2f>> points;----表示定义一个二维数组,
                其中的points[0].size(),表示第一行的列数;

<3>基础知道:
 (1)头文件#include<vector>;
 (2)创建vector对象,vector<int> vec;
 (3)尾部插入数字:vec.push_back(a);
 (4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。
 (5)使用迭代器访问元素:
  vector<int>::iterator it;
   for(it=vec.begin();it!=vec.end();it++)
        cout<<*it<<endl;
 (6)插入元素:  vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
 (7)删除元素:    
    vec.erase(vec.begin()+2);删除第3个元素
    vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
 (8)向量大小:vec.size();
 (9)清空:vec.clear();
 (10)begin()与end()函数表示开始第一个和最后一个;

       front()与back()表示从前开始和从后开始;

<4>简单用法:
        (1)vecor<int> data;表示创建了一个vector数组,int为数组元素的数据类型,data为动态数组名;
        (2)data.push_back(m);在data中存入数据m,m可以为单数字、数组:如(2,3)、指针、地址等,并且从data[0]开始存放,依次往后存放
           例如:data.push_back(23);data.push_back(45);  ------则:data[0]=23;data[1]=45;
        (3)data.pop_back(m);在data中高效的移除vector中最后一个数据,m可以为单数字、数组:如(2,3)、指针、地址、结构体等,并且从最后一个开始移除,依次移除;
        (4)Vector作为函数的参数或者返回值时,需要注意其中的“&”绝对不能少:  
            double Distance(vector<int>&a, vector<int>&b) !!!

<5>复杂用法: (注:需要头文件#include<algorithm>)
        (1)reverse----将元素翻转;
             reverse(vec.begin(),vec.end());将元素翻转,即逆序排列!
        (2)sort----排序;
             sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大).  
             可以通过重写排序比较函数按照降序比较,如下:         
             bool Comp(const int &a,const int &b)//定义排序比较函数:
{return a>b;}
            调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。 
       (3)insert()----插入;函数有以下三种用法: 
                 a.在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器
       b.在指定位置loc前插入num个值为val的元素 
                 c.在指定位置loc前插入区间[start, end)的所有元素 

        (4)Vector中元素的输入输出 :http://blog.csdn.net/duan19920101/article/details/50617190

 

Matx类和Vec类:https://blog.csdn.net/qq_37871032/article/details/69487334


绘图

参考:https://blog.csdn.net/ubunfans/article/details/24421981


数据处理(浮点型转换为整型

参考:https://blog.csdn.net/u013829933/article/details/50471227

猜你喜欢

转载自blog.csdn.net/weixin_40647819/article/details/80070399