OpenCV

CvCapture

视频获取结构

typedef struct CvCapture CvCapture;

结构CvCapture 没有公共接口,它只能被用来作为视频获取函数的一个参数。

cvCaptureFromCAM

初始化从摄像头中获取视频

CvCapture* cvCaptureFromCAM( int index );
index 要使用的摄像头索引。如果只有一个摄像头或者用哪个摄像头也无所谓,那使用参数-1应该便可以。

函数cvCaptureFromCAM给从摄像头的视频流分配和初始化CvCapture结构。

CvScalar

CvScalar定义可存放1—4个数值的数值,其结构如下。

typedef struct CvScalar
{
    double val[4];
}
CvScalar;

------------------------------------------------

CvScalar pt;

如果使用的图像是1通道的,则pt.val[0]中存储数据

如果使用的图像是3通道的,则pt.val[0],pt.val[1],pt.val[2]中存储数据

==============================

CvCreateImage

IplImage* cvCreateImage( CvSize size, int depth, int channels );

depth: 图像元素的位深度

channels:每个元素(像素)通道号.可以是 1, 2, 3 或 4.通道是交叉存取的

CvSize
矩形框大小,以像素为精度
typedef struct CvSize
{
int width;
int height;
}
CvSize;

IplImage

是openCV库中很重要的一个结构体,库中的图像都是保存为这个结构体后再进行操作的。

cvCvtColor

 

色彩空间转换

 

void cvCvtColor( const CvArr* src, CvArr* dst, int code );

 

src
输入的 8-bit , 16-bit 或 32-bit 单倍精度浮点数影像.
dst
输出的 8-bit , 16-bit 或 32-bit 单倍精度浮点数影像.
code
色彩空间转换,通过定义 CV_<src_color_space>2<dst_color_space> 常数

http://artu819.blog.sohu.com/89684052.html 

cvEqualizeHist

  该函数为开放计算机视觉(OpenCV)库库函数,用来使灰度图象直方图均衡化。

  定义:

  void cvEqualizeHist( const CvArr* src, CvArr* dst );

  参数:

  src输入的 8-比特 单信道图像

  dst输出的图像与输入图像大小与数据类型相同

http://baike.baidu.com/view/6427715.htm

cvClearMemStorage

cvClearMemStorage(storage);//释放内存块

CvSeq
可动态增长元素序列
typedef struct CvSeq
{
CV_SEQUENCE_FIELDS()
} CvSeq;
结构CvSeq是所有OpenCV动态数据结构的基础。

cvHaarDetectObjects

cvHaarDetectObjects
检测图像中的目标

CvSeq* cvHaarDetectObjects( const CvArr* image, CvHaarClassifierCascade* cascade, CvMemStorage* storage, double scale_factor=1.1,

int min_neighbors=3, int flags=0, CvSize min_size=cvSize(0,0) );

 

cvGetSeqElem

  openCV里面的一个函数
 
  作用:直接访问序列中的元素
 
  格式:char * cvGetSeqElem(seq,index)
http://baike.baidu.com/view/4428327.htm

cvRectangle

  OpenCV里面的绘图函数
 
  函数功能:通过对角线上的两个顶点绘制简单、指定粗细或者带填充的矩形
 
  函数原型:void cvRectangle( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color,int thickness=1, int line_type=8, int shift=0 );
http://baike.baidu.com/view/5422127.htm
 

Canny

函数 cvCanny 采用 CANNY 算法发现输入图像的边缘而且在输出图像中标识这些边缘。threshold1和threshold2 当中的小
阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割。

这两个分割线意义不算特别理解,但设置不同的值,对边缘的理解不完全一样,比如值越高,可能颜色梯度要更大才算边缘。因此需要自动调整阀值算法(待续)。

posted on 2012-04-18 15:26  ljhas4535  阅读(659)  评论(1编辑  收藏  举报

导航