四、图像处理(呵呵,重头戏来了)
1. 滤波
filter2D()
用核函数对图像做卷积。

sepFilter2D()
用分解的核函数对图像做卷积。
首先,图像的每一行与一维的核kernelX做卷积;然后,运算结果的每一列与一维的核kernelY做卷积。

boxFilter()
就是滑动窗口平均滤波的二维版。

GaussianBlur()
高斯平均,也就是高斯模糊。

medianBlur()
中值滤波,个人最爱的滤波函数。

bilateralFilter()
双线性滤波。

前面这四个函数是原来OpenCV里的cvSmooth()取不同参数的应用。

Sobel()
使用扩展Sobel
算子计算一阶、二阶、三阶或混合图像差分,看冈萨雷斯的那本《数字图像处理》。

Scharr()
计算一阶导,x方向或y方向,以前这个方法是放在cvSobel里的。

Laplacian()
拉普拉斯变换。

erode(), dilate()
腐蚀、膨胀。

示例:
filter2D(image, image, image.depth(),(Mat<float>(3,3)<<-1,-1, -1, -1, 9, -1, -1, -1, -1), Point(1,1),128);
构造了一个如下所示的核对图像做卷积:
-1 -1 -1
-1 9 -1
-1 -1 -1
核的锚点在(1,1)位置,卷积之后每个像素加上128.

2. 几何变换
resize()
改变图像尺寸,可以指定x方向和y方向上的缩放比例,可以指定插值方法。

getRectSubPix()
以亚像素精度从图像中提取矩形。
dst(x,y)=src(x+center.x-(dst.cols-1)*0.5,y+center.y-(dst.rows-1)*0.5)
其中非整数象素点坐标采用双线性插值提取。

warpAffine()
放射变换,看冈萨雷斯《数字图像处理》。

warpPerspective()
透射变换。

remap()
几何变换。

convertMaps()
这是啥?没用过,呵呵。

示例:
Mat dst;
resize(src, dst, Size(), 1./sqrt(2),1./sqrt(2));
把图像缩小到原来的根号二分之一。

3. 图像变换
cvtColor()
色彩空间转换。
顺便提一句,这个函数可以用于把CCD的raw格式转换为RGB,请参考:
http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=18681
但是不能用于把灰度图转成伪彩图,请参考:
http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=23729

threshold()
二值化,常用操作,一般应用时建议用大津算法,即使用THRESH_OTSU参数。

adaptivethreshold()
自适应阈值的二值化。

floodFill()
填充连通域。

integral()
计算积分图像,一次或者二次。

distanceTransform()
距离变换,对原图像的每一个像素计算到最近非零像素的距离。

watershed()
分水岭图像分割。

grabCut()
一种彩色图像分割算法,效果可以参考这里:
http://www.cnblogs.com/xrwang/archive/2010/04/27/GrabCut.html

4. 直方图
calcHist()
计算直方图。

calcBackProject()
计算反向投影。

equalizeHist()
灰度图像的直方图均衡化,常用操作。

compareHist()
比较两个直方图。

栗子:
Mat hsv, H;
cvtColor(image, hsv, CVBGR2HSV);
int planes[]=f0, 1g, hsize[] = f32, 32g;
calcHist(&hsv, 1, planes, Mat(), H, 2, hsize,0);
计算图像的色调-饱和度直方图。

sume
2013/1/5

最新文章

  1. qt qml 刮刮卡效果
  2. Objective-C之NSArray(数组)默认排序与自定义排序
  3. Android MultiDex
  4. 关于H.264 x264 h264 AVC1
  5. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )
  6. MLlearning(2)——simHash算法
  7. selinux理解1-selinux介绍
  8. &lt;二&gt; ASP.NET AutoPostBack
  9. MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类
  10. php邮箱找回密码功能
  11. 修改本地数据库root权限密码
  12. InstallShield常用prq文件的下载地址
  13. Android线程和handler
  14. IE CSS Bugs 列表和解决方法
  15. WinForm 绑定到嵌套对象上的属性
  16. Spring cloud的Maven插件(一):repackage目标
  17. 一款可视化的在线制作H5
  18. excel中如何隐藏列和取消隐藏列
  19. Jenkins Jfrog Artifactory 以及docker下的pipeline 容器编排实践
  20. ECharts(中国地图)的使用 及 非空 tooltip formatter 验证

热门文章

  1. 微信小程序 tabBar模板
  2. Hadoop完全分布式配置
  3. java-day08
  4. CVE-2015-0235
  5. js 删除数组中指定值
  6. spark 应用场景1-求年龄平均值
  7. php断点续传之文件上传与文件下载
  8. (转)打开Mac OSX原生的NTFS功能
  9. (转)行为树(Behavior Tree)实践(1)– 基本概念
  10. SQLServer 2008 还原数据库备份版本不兼容的问题