opencv基础

Mat

具有两个数据部分的类:矩阵头(包含矩阵的大小,用于存储的方法,存储在哪个地址的信息等等)和指向包含像素值(取决于所选存储方法的任何维度)。矩阵头大小是恒定的,然而矩阵本身的大小可以随着图像的不同而变化,通常会大一个数量级。

  1. 使用引用计数系统。
  2. 自动管理内存。
  3. 赋值运算符和复制构造函数只复制矩阵,而不是数据本身。
  4. cv::Mat::clone()和cv::Mat::copyTo()函数复制矩阵本身。
  5. OpenCV标准显示系统使用BGR颜色空间组成颜色。
  6. cv::Mat::Mat构造函数,CV_8UC3意味着使用8位长的无符号字符类型,每个像素有三个通道 。
Mat M(2,2,CV_8UC3,Scalar(0,0,255));
cout << “M =” << endl << “” <<“M << endl << endl;

扫描图像 

  1. C风格操作符[]
  2. 迭代器
  3. cv::Mat::at(int i0, int i1)
  4. LUT功能

     速度:4>1>2>3

     LUT函数 :实际上就是一张像素灰度值的映射表,它将实际采样到的像素灰度值经过一定的变换如阈值、反转等,变成了另外一个与之对应的灰度值,这样可以起到突出图像的有用信息,增强图像的光对比度的作用。 

混合两个图像

cv::addWeighted

改变图像的亮度和对比度

cv::convertTo

绘图 

cv::line,cv::ellipse,cv::circle ,cv::fillPoly,cv::rectangle

随机生成器和OpenCV文本 

cv::RNG,cv::putText

IPP 

针对cpu做了优化,给cpu提速

并行计算函数 parallel_for_ 

在使用opencv的过程中,对图片的处理计算量很大,所以在实施运行的程序中如何高效的计算会节省很多时间。现有的方法有很多,如OpenMp,TBB,OpenCL,Nvidia的CUDA等。CUDA不太适合毫秒级别的程序运行,单一张图片在cpu和gpu之间的传输时间就已经达到300ms(使用opencv的cuda库函数);在TX2上直接对cuda进行编程,数据的传输也是在50ms(不包含初始化)以上。opencv的并行计算函数parallel_for_,整合了上述的多个组件。

平滑处理

cv::blur

设置边框 

cv::copyMakeBorder

边缘检测 

cv::Canny 

重新映射 

cv::remap 

模板匹配 

cv::matchTemplate

滑动条

cv::createTrackbar

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值