opencv api

一、工具函数

函数 描述
cvCeil() 近似一个浮点数x到不小于x的最近的整数(向上取整)
cvFloor() 近似一个浮点数x到不大于x的最近的整数(向下取整)
cv::cubeRoot() 计算一个数的立方根
cv::error() 指示错误并抛出异常
CV_Error() 构造cv::Exception(从固定的字符串)并抛出异常的一个宏
CV_Error_() 构造cv::Exception(从格式化的字符串)并抛出异常的一个宏
cv::format() 以sprintf类似格式创建一个STL字符串
cv::getCPUTickCount() 从内部CPU计时器获得tick计数
cv::getNumThreads() 获得当前Opencv使用的线程数
cv::getOptimalDFTSize 计算要传递给cv::DFT()的数组的最适宜大小
cv::getThreadNum() 获取当前线程的索引
cv::getTickCount() 获取系统的tick计数
cv::getTickFrequency() 获取每秒tick数
cvIsInf() 判断一个浮点数x是否无穷
cvIsNaN() 判断一个浮点数x是否不是一个数
cvRound() 近似一个浮点数x到最近的整数
cv::setNumThreads()
cv::setUseOptimized() 开启或关闭优化代码
cv::useOptimized() 指示代码优化的启用

二、功能函数

读写图片

Mat imread(const string& filename, int flags = 1);
bool imwrite(const string& filename, InputArray image, const vector<int>& params=vector<int>());

imread()的flag有三种情况:

  • flag>0,该函数返回 3 通道图像,如果磁盘上的图像⽂文件是单通道的灰 度图像,则会被强制转为 3 通道;
  • flag=0,该函数返回单通道图像,如果磁盘的图像⽂文件是多通道图像,则 会被强制转为单通道;
  • flag<0,则函数不对图像进行通道转换。

文件的格式由 filename 参数指定的文件扩展名确定。推荐使用 PNG 文件格 式。BMP 格式是无损格式,但是一般不进行压缩,文件尺寸非常大;JPEG 格式 的文件娇小,但是 JPEG 是有损压缩,会丢失一些信息。PNG 是无损压缩格式, 推荐使用。

并不是所有的 Mat 对象都可以存为图像文件,目前支持的格式只有 8U 类型 的单通道和 3 通道(颜色顺序为 BGR)矩阵;如果需要要保存 16U 格式图像,只 能使用 PNG、JPEG 2000 和 TIFF 格式。如果希望将其他格式的矩阵保存为图像文 件,可以先用 Mat::convertTo()函数或者 cvtColor()函数将矩阵转为可以保存的格 式。

显示图像

void imshow(const String& winname, InputArray mat);

若无namedWindow,只有imshow,显示的图像窗口与图片一样大,无法调整窗口大小。imshow只能显示8位和浮点型的。

void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);

WINDOW_FREERATIO参数可以调整窗口大小,默认图像WINDOW_AUTOSIZE显示原图,不能调整大小。

读写视频

OpenCV 2 中提供了两个类来实现视频的读写。读视频的类是 VideoCapture, 写视频的类是 VideoWriter。编解码器 使用四个字符表示,可以是 CV_FOURCC('M','J','P','G')、CV_FOURCC('X','V','I','D')及 CV_FOURCC('D','I','V','X')等。

VideoCapture 既可以从视频文件读取图像,也可以从摄像头读取图像。

色彩转换color space conversions

void cv::cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0);

Converts an image from one color space to another.

dstCn number of channels in the destination image; if the parameter is 0, the number of the channels is derived automatically from src and code.

参考

  1. opencv小白入门教程
posted @ 2017-01-01 01:30  yuxi_o  阅读(195)  评论(0编辑  收藏  举报