博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转载] OpenCV2.4.3 CheatSheet学习(三)
阅读量:6457 次
发布时间:2019-06-23

本文共 1597 字,大约阅读时间需要 5 分钟。

四、图像处理(呵呵,重头戏来了)

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()
色彩空间转换。
顺便提一句,这个函数可以用于把CCDraw格式转换为RGB,请参考:
但是不能用于把灰度图转成伪彩图,请参考:
threshold()
二值化,常用操作,一般应用时建议用大津算法,即使用THRESH_OTSU参数。
adaptivethreshold()
自适应阈值的二值化。
floodFill()
填充连通域。
integral()
计算积分图像,一次或者二次。
distanceTransform()
距离变换,对原图像的每一个像素计算到最近非零像素的距离。
watershed()
分水岭图像分割。
grabCut()
一种彩色图像分割算法,效果可以参考这里:
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

 

 

转载于:https://www.cnblogs.com/eaglediao/p/7136525.html

你可能感兴趣的文章
Android快速开发常用知识点系列目录
查看>>
Java ActiveMQ队列模式案例
查看>>
EJB2的配置
查看>>
最容易理解的对卷积(convolution)的解释
查看>>
《机器学习实战》知识点笔记目录
查看>>
Linux操作系统实时性分析
查看>>
mysql导出导入所有数据库
查看>>
[转载]数据库缓存算法思想与实现
查看>>
完美解决NC502手工sql的查询引擎排序及合计问题
查看>>
PHP+MySQL代码部署在Linux(Ubuntu)上注意事项
查看>>
Tiny语言执行环境TM机源码
查看>>
PE文件之资源讲解
查看>>
windows 7/mac编译cocos2d-x-3.2*的android工程报错
查看>>
MYSQL导入导出.sql文件(转)
查看>>
使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)
查看>>
git review报错一例
查看>>
Tomcat在Linux上的安装与配置
查看>>
《信息安全系统设计基础》 课程教学
查看>>
Linux平台下使用rman进行oracle数据库迁移
查看>>
全栈工程师学习Linux技术的忠告
查看>>