opencv基本图像识别

一.opencv常用识别任务

1颜色识别(BGR格式)

1.1.首先转换到HSV颜色空间

1.2.定义阈值(网上的参数还需自己根据实际再稍加调整)

如:min_red=np.array([0,100,100])

max_red=np.array([10,255,255])

                                 H   S   V

H:调节色调  S:调节饱和度  V:调节亮度

2.形状识别(轮廓检测)

2.1正方形

使用cv2.approxPolyDP()函数

如:if len(approx)==4——代表该轮廓接近四边形,有四个顶点

2.2 三角形

if len(approx)==3————代表该轮廓接近三边形,有三个顶点

2.3 圆(建议用霍夫圆检测)

使用cv2.HoughCircles()函数

3.数字识别

3.1使用pytesseract库(识别不稳定)

3.2训练模型

4.二维码识别

4.1 QR码

使用QRCodeDetector()——QR二维码检测器,opencv自带的。适合实时检测效率比pyzbar高。不能检测条形码。

使用pyzbar库——可以检测QR码以及条形码。

4.2 ArUco码

使用opencv中的aruco模块。需知道所用ArUco码的字典类型。

二.opencv常用图像处理

1.形态学:

腐蚀:去除小的噪声,分离接触的物体。

膨胀:填补小的空洞,连接接近的物体。

开运算:腐蚀->膨胀。适合消除小的噪声。

闭运算:膨胀->腐蚀。填补小的空洞。

梯度:用于边缘检测。

顶帽:原图像-开运算——适合提取小的亮区域。

黑帽:闭运算-原图像——适合提取小的暗区域。

2.主要运用的滤波

中值滤波:去除噪声,保留边缘。

高斯滤波:平滑效果好。

3.主要运用的边缘算子

Sobel算子:检测边缘方向。

Canny算子:可去噪和检测边缘(经常用的)

4.缩放处理

cv2.resize()函数。定义缩放因子,确定缩放百分比。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值