机器视觉初级系列(9) - 找到图书的轮廓

本文介绍了如何利用图像几何轮廓特征寻找图书轮廓,通过Python和OpenCV实现简单图书识别,避免使用复杂的SVM或深度学习模型。首先进行灰度处理和高斯模糊,再应用Canny边缘检测,通过形态学操作闭合边缘,最后使用findContours找到四个顶点的轮廓,从而识别书籍。
摘要由CSDN通过智能技术生成

图像几何轮廓特征

虽然计算机视觉、机器视觉属于人工智能的分支之一(人工智能包括有图像识别、语音识别、语义识别等),但是对于机器视觉来说,学习图像的几何特征有着非一般的重要意义。

为什么介么说,因为在本人实际的项目当中,很多时候处理算法都是基于图像的几何轮廓特征进行计算的,例如角点计算的几种算法HOG、SIFT、SUFT…都是基于图像的几何轮廓特征的基本理论上。

到近年来很重要、很热门的机器视觉领域SLAM(即时定位与地图构建)绝大部分理论都是基于图像几何轮廓特征,因此在这里简单初级地对图像几何轮廓特征进行初略带过一遍,造福后人。


举个栗子:找图书的轮廓

看看我们要做到的效果:

这里写图片描述

如上图所示,我们希望能简单地不使用SVM分类,深度学习CNN、R-CNN等神经网络方法,简单粗暴地准确识别出上图所示,摆放在桌子上的书呢?这里就用到了神秘而伟大的图像几何轮廓特征。

这里写图片描述

在介里,我们可以很清晰地看到在图像中有4本书,但是同样有其他一些障碍物(在实验环境中是有点和谐),例如有星爸爸的咖啡杯,杯垫。我们神秘而伟大的目标就是忽略那些其他参考物,然后准确地识别出桌子上面的书籍。

在真实情况下可能是手机app 万能扫描王里面的功能:我们用手机拍了张纸,希望高清地扫描进电脑,这时候你不用到打印店去扫描了,直接用手机吧,用我们这个程序吧。

今天我不打算像前几个文章系列那样使用opencv C++版本,因为使用python做demo是非常方便快捷,不用写那么多括号。

需要什么库呢?

为了能够顺利得到图像中的轮廓,我们需要下面两个库:

NumPy:方便数值运算。
OpenCV:不用我介绍了吧。

通过python和opencv在图像中找到书本

我们通过cv2.imread读取图片,然后对图像进行灰度图处理,以后无论把图像想转什么格式都统统使用cvtColor,而后面的需要主要的是使用BGR2而不是普通的RGB2。接着,通过对图像进行高斯模糊。使用高斯模糊的作用有两:1 去除图像中的噪音,也就是自动化通信领域的低通滤波。2 增加找到图书的精确度。

# import the necessary packages
import numpy as np
import cv2

# load the image, convert it to grayscale, and blur it
image = cv2.imread(
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值