
opencv机器视觉
文章平均质量分 89
python+opencv机器视觉
立Sir
专注于深度学习、机器视觉,代码涉及Python、TensorFlow、Pytorch。感谢各位支持,已毕业,断更。
展开
-
【opencv】(13) 案例:停车场空余车位检测,附python完整代码
各位同学好,今天和大家分享一下如何使用Opencv完成停车场的车位检测,及空余车位计数,先放张图看效果。红框代表该车位有车,绿框代表该车位空余,左上角记录有几个空余车位,黄色数字代表该车位内的像素个数,用于判断车位上是否有车。 从图中可以看到,由于视频拍摄角度的问题,车位不是横平竖直的,并且车位在屏幕上的大小和角度也是不相同的。需要用到旋转矩形的操作,并调整单个矩形框使其能够用于所有车位。1. 处理旋转矩形首先,由于车位是矩形框经过一定角度旋转之后得到的,因此在先定义一个处理旋转..原创 2021-12-31 12:00:01 · 30998 阅读 · 30 评论 -
【opencv】(12) 光流估计,行人轨迹跟踪,附python完整代码
1. 光流估计1.1 方法介绍光流:空间运动物体在观测成像平面上的像素运动的瞬时速度。根据各个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪。如果下面这辆车正向我们缓缓开来,右图是车辆的光流,它代表车辆在行驶过程中,每一帧图像的瞬时速度和方向。箭头的大小表示移动的瞬时速度,箭头的方向代表前进的目标方向。可以获取车辆每一帧的位置,对它进行跟踪。相关定理:(1)亮度恒定:同一点随着时间的变化,其亮度不发生变化。帧和帧之间的变化很快,亮度基本不变。(2)小运动:...原创 2021-12-03 20:21:31 · 8262 阅读 · 4 评论 -
【opencv】(11) 背景建模,帧差法、混合高斯模型,实战:行人检测,附python完整代码和数据集
各位同学好,今天和大家分享一下opencv背景建模相关操作。主要介绍两种背景建模方法,帧差法和混合高斯模型。案例简介:现有一份路口摄像机拍摄的行人流视频,通过背景建模方法,区分背景和前景,完成行人识别。数据集链接:https://pan.baidu.com/s/1xPg1nQ0Ic_P-mGvdFD0t2w 提取码:12341. 方法介绍背景建模需要满足一定条件,保证摄像机拍摄位置不变,保证背景是基本不发生变化的。如路口的监控摄像机,只有车流人流等前景部分能发生移动,而马路树木等背景不..原创 2021-12-03 15:24:41 · 10311 阅读 · 4 评论 -
【opencv】(10) 角点检测、图像金字塔
1. 角点检测角点:角点是图像里在各个方向变化最大的区域。无论是沿水平方向或竖直方向移动过程中,整个图像的灰度级发生迅速变化。边界:沿水平或者竖直方向移动,一个比较平稳一个比较迅速。角点检测函数cv2.cornerHarris(src, blockSize, ksize, k, borderType=None)src:数据类型为float32的输入图像blockSize:角点检测中指定窗口的大小ksize:Sobel算子求导中使用的核大小,一般等于3k:取值参数,取值范围原创 2021-12-03 10:42:29 · 2602 阅读 · 0 评论 -
【opencv】(9) 图像识别实战:银行卡数字识别,附python完整代码和数据集
各位同学大家好,今天我和大家分享一下opencv机器视觉实战项目,识别银行卡上的数字,该方法也同样适用于车牌数字识别。案例简介:现在有5张银行卡,1张数字模版。先对数字模板上的每个数字进行识别,再对银行卡的进行形态学处理,找出银行卡数字组合所在位置,取出每个数字组合的每一个数字,.原创 2021-12-02 17:29:04 · 10319 阅读 · 24 评论 -
【opencv】(8) 傅里叶变换,高通低通滤波器
图像处理一般分为空间域处理和频率域处理。空间域处理是直接对图像内的像素进行处理。主要划分为灰度变换核空间滤波两种形式,灰度变换对图像内的单个像素进行处理,滤波处理涉及对图像质量的改变。频率域处理是先将图像变换到频率域,然后在频率域对图像进行处理,最后通过反变换将图像变为空间域。傅里叶变换可以将图像变换为频率域, 傅立叶反变换将频率域变换为空间域。傅里叶变换的详细可看一下知乎大佬的解释:https://zhuanlan.zhihu.com/p/19763358在图像中,高频是指变化剧烈原创 2021-12-01 16:42:41 · 7986 阅读 · 2 评论 -
【opencv】(7) 图像匹配、直方图、图像均衡化
各位同学好,今天和大家分享一下opencv中图像匹配方法,和图像均衡化方法(1)模板匹配:cv2.matchTemplate();(2)图像直方图:cv2.calcHist();(3)图像均衡化:cv2.equalizeHist();(4)自适应均衡化:cv2.createCLAHE()1. 模板匹配模板匹配和卷积的原理很像,模板在原图像上从原点开始滑动(从左到右, 从上到下),计算模板与(图像被模板覆盖的地方)的差别程度,在opencv中计算差别程度有6种计算方法。然后将每次计算结果放...原创 2021-12-01 12:29:24 · 4270 阅读 · 2 评论 -
【opencv】(6) 图像轮廓处理
各位同学好,今天和大家分享一下opencv中如何获取图像轮廓,以及对轮廓的一些其他操作。内容有:(1)轮廓检测:cv2.findContours();(2)轮廓绘制:cv2.drawContours();(3)轮廓近似:cv2.approxPolyDP();(4)面积计算:cv2.contourArea();(5)周长计算:cv2.arcLength();(6)外接矩形:cv2.rectangle();(7)外接圆:cv2.circle()在开始前,先导入需要用到的库文件以及图像数据,定义一个图像显原创 2021-11-30 18:57:35 · 8922 阅读 · 3 评论 -
【opencv】(5) 图像边缘检测:sobel、scharr、laplacian、canny
各位同学好,今天和大家分享一下图像边缘检测的几个算子,主要内容有:(1)sobel算子:cv2.Sobel();(2)scharr算子:cv2.Scharr();(3)laplacian算子:cv2.Laplacian();(4)canny算子:cv2.Canny()在开始前,我们先导入需要的库文件和图片,再定义一个图像显示函数,方便绘图。import numpy as npimport cv2# 获取图片所在文件夹filepath = 'C:\\Users\\admin\\.spyde原创 2021-11-30 13:35:31 · 2865 阅读 · 0 评论 -
【opencv】(4) 形态学处理:腐蚀膨胀、梯度运算、礼帽黑帽
各位同学好,今天和大家分享一下图像的形态学处理方法。内容有:膨胀腐蚀、开运算和闭运算、梯度运算、礼帽和黑帽(1)腐蚀:cv2.erode();(2)膨胀:cv2.dilate();(3)形态学函数:cv2.morphologyEx();那我们开始吧。我们先导入接下来操作需要的库文件和图像数据import cv2import numpy as np# 指定图片所在文件夹filepath = 'C:\\...\\img\\changed'# 获取文件夹中的某张图img = cv2原创 2021-11-29 20:23:19 · 3280 阅读 · 0 评论 -
【opencv】(3) 图像滤波:均值、方框、中值、高斯
内容有: 均值滤波cv2.blur(),方框滤波cv2.boxFilter(),高斯滤波cv2.GaussianBlur(),中值滤波 cv2.medianBlur()滤波可理解为,平均卷积操作。对于图像上存在的噪声点,通过滤波平滑处理操作,可以去除噪声点。在开始前我们先导入需要用的库文件,获取需要用到的图片。import cv2# 指定图像所在文件夹位置filepath = 'C:\\Users\\admin\\.spyder-py3\\test\\opencv\\img'# 获取文...原创 2021-11-29 15:35:14 · 1831 阅读 · 0 评论 -
【opencv】(2) 图像处理:边界填充、图像融合、图像阈值、数值计算
主要内容有:边界填充 cv2.copyMakeBorder(),数值计算cv2.add(),改变尺寸cv2.resize(),图像融合cv2.addWeighted(),图像阈值cv2.threshold()在开始之前,我们先导入图像,img中存放我们需要用到的图像。并定义一个图像显示函数,便于接下来画图。# 导入opencv库import cv2# 定义图像显示函数def cv_show(name,img): # 传入(自定义窗口名,图像数据) cv2.imshow...原创 2021-11-28 19:06:48 · 3638 阅读 · 0 评论 -
【opencv】(1) 基础操作:图像视频读取、图像截取、颜色通道
主要内容有:图像及视频的读取和保存、图像显示、转换灰度图、图像截取、颜色通道提取和组合那我们开始吧。1. 图像操作首先我们导入opencv库,彩色图像一般都是由RGB(红绿蓝)三颜色通道构成,灰度图只有一个颜色通道即暗亮度。在opencv中,图像的读取格式是BGR;在matplot中,图像保存格式是RGB。用opencv的绘图方法和matplot的绘图方法展现出来的图可能会有颜色上的出入,这需要注意一下。import cv2 # 导入opencv,读取的格式是BGR1.1 图像读取和原创 2021-11-28 17:56:19 · 2965 阅读 · 0 评论