Playing with OpenCV
Posted PaQiuQiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Playing with OpenCV相关的知识,希望对你有一定的参考价值。
一、从双目立体视差图中重建三维点云
1.【视差与深度信息】
2.【用VS+Opencv3.1从双目立体视差图中重建三维点云】
二、斑点检测
Opencv中提供了SimpleBlobDetector的特征点检测方法。
Reference:
1.【 Opencv中SimpleBlobDetector的使用(斑点检测)】
2.【Opencv2.4.9源码分析——SimpleBlobDetector】
三、寻找图像中最亮的点
逐行遍历,计算像素值最大的点。
四、用OpenCV实现Photoshop算法
1.图像旋转
- warpAffine
- getRotationMatrix2D
2.图像剪切
- MouseCallBack
- rect
3.图像匹配
- matchTemplate
- minMaxLoc
4.抠图
- imgmask
- floodFill
5.亮度对比度调整
- adjustBrightnessContrast
6.毛玻璃效果
7.图像修复
8.图像取反
9.图像马赛克
Reference:
五、bwareopen算法
自己需要用写了一个,和Matlab中bwareaopen的效果应该是几乎一致的,依赖于opencv新函数connectedComponentsWithStats,再也不用先找轮廓再填充了。
六、单目相机标定
输入5张图,得到out_camera_data.xml
,采用张正友标定算法。
七、扫描全能王软件
相信很多人手机里都装了个“扫描全能王”APP,平时可以用它来可以扫描一些证件、文本,确实很好用,第一次用的时候确实感觉功能很强大啊算法很牛逼啊。但是仔细一想,其实这些实现起来也是很简单的,我想了下,实现的步骤应该就只有下面三个:
- 将证件轮廓找到
- 提取证件矩形轮廓四点进行透视变换
- 二值化
Reference:
1.[OpenCV探索之路(二十二):制作一个类“全能扫描王”的简易扫描软件】
八、生成棋盘格
九、图片校正
对任意倾斜的图片,校正到水平位置。
十、腐蚀膨胀
- getStructuringElement
- erode
- dilate
十一、找到图片中的方块
十二、图像拼接
图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要。
再举一个身边的例子吧,你用你的手机对某一场景拍照,但是你没有办法一次将所有你要拍的景物全部拍下来,所以你对该场景从左往右依次拍了好几张图,来把你要拍的所有景物记录下来。那么我们能不能把这些图像拼接成一个大图呢?我们利用opencv就可以做到图像拼接的效果!
Reference:
1.【OpenCV探索之路(二十四)图像拼接和图像融合技术】
十三、寻找最大内切圆
- FindBigestContour
- pointPolygonTest
十四、拼图游戏
- 随机调换所有的子图像序列的位置,用于在 Splite image中显示
- 鼠标回调函数,用于获取需要查找的子图像在原图像中的位置,并叠加显示在目标图像中
Reference:
十五、获得物体的主要方向
- 分别获得每个工件的轮廓;
- 处理每个轮廓,采用pca(主成分分析)方法,获得所有轮廓点的集合的中点,主要方向等信息;
- 绘图并返回结果。
Reference:
1.【如何获得物体的主要方向?】
十六、图像细化
Reference:
2.细化算法
3.论文 A fast parallel algorithm for thinning digital patterns
———-
十七、寻找轮廓中心点
- 阈值
- 寻找轮廓
- 计算中心点
十八、黏连细胞计数
- 寻找该图像的最小凸闭包,
- 凸闭包和凹图形相减得到凹区域
- 提取凹区域的轮廓
- 按照区域面积大小最为权重,选取最大的两个区域作为凹点所在区域
- 遍历这两个区域,寻找距离最短的两个点作为凹点
- 基于该两个凹点分割
Reference:
1.【【opencv】凹点切分,种子计数,细胞计数前提 17/7/25更新】
十九、去除印章
- 通道选择
- 二值化
二十、检测椭圆和边
- HoughLinesP
- findContours
- fitEllipse
GitHub:https://github.com/joeaaron/LearningOpenCV
持续更新中……
以上是关于Playing with OpenCV的主要内容,如果未能解决你的问题,请参考以下文章
(转) Playing FPS games with deep reinforcement learning
UVA1482 LA5059 Playing With StonesSG函数