数字图像处理和OpenCV
介绍数字图像处理的数学理论知识,以及用OpenCV编写相关的算法,也会有一些项目实战。
外出的霍比特人
有文艺情怀的理工男
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
霍夫线变换的数学原理和用OpenCV实现霍夫线变换的小例子
OpenCV霍夫线变换由于博主比较懒,关于霍夫线变换的数学原理直接截图了,大家也可以参考《数字图像处理》(冈萨雷斯 第三版)第472页—第475页的相关内容,书上讲的更详细。如果大家对霍夫线变换的数学原理有什么不明白的,可以在评论区提问,我会进行解答。以下是用OpenCV实现霍夫线变换的小例子,检测下图中的直线。#霍夫线变换import cv2import numpy as npimg = cv2.imread('C:\\Users\\Administrator\\Desktop\\s原创 2020-11-18 22:31:57 · 203 阅读 · 0 评论 -
OpenCV保存视频和从文件播放视频
OpenCV保存视频和从文件播放视频1、保存视频:需要创建一个VideoWriter对象,应该指定输出文件名(例如:output.avi),然后应该指定FourCC代码,然后传递帧率的数量和帧的大小,最后一个是颜色标志,如果是True,编码器期望颜色帧,否则它与灰度帧一起工作。FourCC:用于指定视频编解码器的4字节代码import cv2import numpy as npcap = cv2.VideoCapture(0)#定义编解码器并创建VideoWriter对象fourcc = c原创 2020-11-15 21:04:55 · 444 阅读 · 1 评论 -
OpenCV从相机中读取视频
OpenCV从相机中读取视频从相机中读取视频:许多情况下需要用摄像机捕捉实时画面,这里用笔记本电脑内置的摄像头捕捉视频,需要创建一个VideoCapture对象,它的参数可以是设备索引或者视频文件的名称,设备索引就是指定哪个摄像头的数字,传递0选择第一个摄像头。从视频中逐帧捕获,在最后需要释放俘虏。import cv2import numpy as npcap = cv2.VideoCapture(0)if not cap.isOpened(): print('Cannot open c原创 2020-11-15 20:36:20 · 427 阅读 · 0 评论 -
OpenCV绘制直方图cv2.calcHist()
OpenCV绘制直方图cv2.calcHist()直方图:X轴是像素值,Y轴是图像中该像素值的数量。通过查看图像的直方图,可以直观地了解图像的对比度、亮度、强度分布等。BINS:一般直方图显示的像素值是0—255,一共256个。也可以将直方图分成16个子部分,0—15之间的像素数量、16—31之间的像素数量…240—255之间的像素数量,只需要16个值就可以表示直方图,每个子部分都称为’BIN’。OpenCV中计算直方图的函数:cv2.calcHist(images, channels, mask,原创 2020-11-15 10:13:02 · 1520 阅读 · 0 评论 -
OpenCV基于边缘检测的车牌提取和字符分割
OpenCV基于边缘检测的车牌提取和字符分割上一篇博客是基于颜色信息的车牌提取,这一篇博客是基于边缘检测的车牌提取。其实无论是基于颜色信息还是基于边缘检测,都是先找到目标区域(车牌)的一些特征,将特征用白色标记出来,背景颜色是黑色。然后用形态学方法(腐蚀和膨胀),将车牌的矩形区域弄出来,再用轮廓提取,将车牌的矩形区域提取出来。本文主要参考了以下这一篇博客,该博客是用C++编写的算法,我参考其方法用Python实现了一遍,其中字符分割的算法实现有一些不同。参考的博客(C++编写的算法)在代码中,我详细原创 2020-11-14 21:28:07 · 3213 阅读 · 2 评论 -
OpenCV基于颜色信息的车牌提取
OpenCV基于颜色信息的车牌提取车牌提取的方法主要有:基于纹理特征分析法、基于数学形态学分析法、基于边缘检测的定位分析法、基于小波分析的定位分析法、基于彩色信息的定位分析法,本文采用的方法是基于颜色信息的定位分析法。本文主要参考了以下这一篇博客,该博客是用C++编写的算法,我参考其方法用Python实现了一遍。参考的博客(C++编写的算法)在代码中,我详细地注释了每一个步骤流程以及一些注意事项,看注释应该比较容易理解,代码可以直接使用。注意把cv2.imread()函数中的图片路径修改一下,原始原创 2020-11-13 23:34:37 · 1210 阅读 · 1 评论 -
OpenCV中的腐蚀和膨胀操作
OpenCV中的腐蚀和膨胀操作#形态学转换#侵蚀、膨胀、开运算、闭运算等import cv2import numpy as np‘’’#侵蚀:侵蚀前景物体的边界(尽量使前景保持白色)#内核滑动通过图像(在2D卷积中),原始图像中的一个像素只有当内核下的所有像素都是1时才被认为是1,否则其被侵蚀为0#有助于去除小的白色噪声,分离两个连接的对象img = cv2.imread(‘C:\Users\Administrator\Desktop\qq.png’)img = cv2.cvtColor原创 2020-11-13 15:06:36 · 968 阅读 · 1 评论
分享