• OpenCV常用函数


    这里对opencv里面的一些比较常见的函数做了一个归纳,有C接口的,也有C++接口的;更多函数可以查询最新的OpenCV文档

    1.cvNormalize
    功能:根据某种范数或者数值范围归一化数组.

    void cvNormalize( const CvArr* src, CvArr* dst, double a=1, double b=0, int norm_type=CV_L2,const CvArr* mask=NULL );
    src: 输入数组
    dst: 输出数组,支持原地运算
    a: 输出数组的最小/最大值或者输出数组的范数
    b:输出数组的最大/最小值
    norm_type: 归一化的类型
    可以有以下的取值:
    CV_C - 归一化数组的C-范数(绝对值的最大值)
    CV_L1 - 归一化数组的L1-范数(绝对值的和)
    CV_L2 - 归一化数组的(欧几里德)L2-
    CV_MINMAX - 数组的数值被平移或缩放到一个指定的范围
    mask 操作掩膜,用于指示函数是否仅仅对指定的元素进行操作
    该函数归一化输入数组使它的范数或者数值范围在一定的范围内

    对于不同的norm_type, 根据(mask=null)的时候, a,b(a>b)起的作用结果如下:
    norm_type=CV_C时, src 被重新"缩放"(rescale)到dst, 使得dst的值是线性映射到[0,1]区间.(a,b其实无作用)
    norm_type=CV_L1,或者 CV_L2, 得到L1,L2规范化的dst.(a,b其实无作用)
    norm_type=CV_MINMAX时, src会被缩放(rescale)和移动(translation)到dst,使得dst的值是线性映射到[b,a]区间.

    2.cvConvert

     因为 IplImage 里的数据,你只能用uchar的形式存放,当你需要这些图像数据看作数据矩阵来运算时,0~255的精度显然满足不了要求;

     然而CvMat里却可以存放任意通道数、任意格式的数据,这个机制方便了研究中的这种需求,转化为矩阵就可以进行更自由的计算;

     1  void Show(CvMat* mat)  
     2  {   
     3    CvSize size = cvSize(mat->width,mat->height);   
     4    IplImage* imgBuf = cvCreateImage(size,IPL_DEPTH_8U,1);                          
     5    cvConvert(mat,imgBuf);     
     6    cvNamedWindow("mat",CV_WINDOW_AUTOSIZE);   
     7    cvShowImage("image",mat);   
     8     cvWaitKey(0);   
     9     cvReleaseImage(&imgBuf);  
    10  } 

    3.cvCopy
    void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );
    在使用这个函数之前你必须用cvCreateImage()一类的函数先开一段内存,然后传递给dst。cvCopy会把src中的数据复制到dst的内存中。

    4.cvCloneImage
    IplImage* cvCloneImage( const IplImage* image );
    在使用函数之前,不用开辟内存。该函数会自己开一段内存,然后复制好image里面的数据,然后把这段内存中的数据返回给你。

    5.cvFilter2D

    对图像做卷积

    void cvFilter2D( const CvArr* src, CvArr* dst, const CvMat* kernel, CvPoint anchor=cvPoint(-1,-1));

    src 输入图像.
    dst 输出图像.
    kernel 卷积核, 单通道浮点矩阵. 如果想要应用不同的核于不同的通道,先用cvSplit函数分解图像到单个色彩通道上,然后单独处理。
    anchor 核的锚点表示一个被滤波的点在核内的位置。 锚点应该处于核内部。缺省值 (-1,-1) 表示锚点在核中心。
    本函数对图像进行线性滤波,支持 In-place 操作。当核运算部分超出输入图像时,函数从最近邻的图像内部象素差值得到边界外面的象素值。
  • 相关阅读:
    Hadoop Mapreduce分区、分组、二次排序过程详解
    hadoop的NullWritable
    CentOS7.0修改主机名(hostname)
    Linux下不重启永久修改hostname
    稀缺——我们是如何陷入贫穷与忙碌的
    slf4j log4j logback关系详解和相关用法
    使用logstash+elasticsearch+kibana快速搭建日志平台
    安装XAMPP时出现 unable to realloc 83886080 bytes
    ElasticSearch查询max_result_window问题处理
    后台CMS日志处理记录
  • 原文地址:https://www.cnblogs.com/Jack-Lee/p/3643269.html
Copyright © 2020-2023  润新知