学习Opencv笔记

2017-3-4

Mat数据类型

    1 Mat类由两个数据部分组成,矩阵头(矩阵尺寸,存储方法,存储地址)和指向所有像素值的矩阵的指针
    2 为了减小矩阵大的开销,采用计数机制,每个Mat对象有一个信息头但共享一个矩阵,使得拷贝构造函数只复制信息头和矩阵指针,而不复制矩阵。
    Mat A,C;
    A=imread();
    Mat B(A);  //使用拷贝构造函数
    C=A;
    以上ABC最终都指向同一个数据矩阵
    3 创建一个感兴趣区域,只需要创建包含边界信息的信息头
    Mat D(A,Rect(10,10,100,100));     //使用矩形界定
    Mat E=A(Range():all(),Range(1,3); //使用行和列界定
    4 使用克隆函数复制矩阵本身
    Mat F=A.clone();
    Mat G;
    A.copyTo(G);

像素值的存储方法:

    1 Mat不仅仅是一个图像容器类,也是一个通用的矩阵类,创建Mat对象有多种方法:
    2 使用Mat构造函数
    Mat M(2,2,CV_8UC3,Scalar(0,0,225));
    3 C++中通过构造函数初始化
    int sz[3]={2,2,2};
    Mat L(3,sz,CV_8UC,Scalar::all(0));
    4 为已存在的lplImage指针创建信息头
    lplImage *img=cvLoadImage();
    Mat mtx(img);
    5 利用Create()函数
    M.create(4,4,CV_8UC(2));

OpenCV的常用数据类型和函数

    1 点的表示Point类: Point point;
                        point.x=10;
                        point.y=8;
                    或者Point point=Point(10,8);
    另外在OPenCV中:
        typedef Point_<int> Point2i;
        typedef Point2i Point;
        typedef Point_<float> Point2f;
    即Point,Point_<int>,Point2i等价;Point2f,Point_<float>
    2 颜色的表示 Scalar类
        Scalar(a,b,c);
    3尺寸的表示size
    4矩形类的表示
        常用成员函数 Size(),Area()返回矩形的面积,contains(Point)判断点是否在矩形内,tl返回左上角点的坐标,br()返回右下角点坐标
        求交: Rect rect=rect1&rect2;
        求补:                |
        平移: Rect reectShift=rect+point;
        缩放: Rect rectScale=rect+size;
    5颜色空间转换cvtColor()函数  //可以实现RGB向HSV,HSI
    6基本图形的绘制
        绘制直线的line函数
        绘制椭圆的ellipse函数
        绘制矩形的rectangle函数
        绘制圆的circle函数
        填充的多变形fillPoly函数

2017-3-13

图像增强–增强图像中的有用信息,目的是要改善图像的视觉效果,针对图像的应用场合,有目的的调整图像的整体性或局部特性,是原来不清晰的图像变得清晰或者强调某些感兴趣的特征,可分为频率域法和空间域法,

1.频率域法将图像看成是二维型号,对其进行基于二维傅里叶 变换的型号增强,采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。后者空间域法中具有代表性的算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值