OpenCV
文章平均质量分 74
记录OpenCV的学习笔记
Huffiee
进步无止境!
展开
-
ImportError: No module named cv2问题的解决方法(修改python默认版本)
在调用opencv安装包时,会出现ImportError: No module named cv2的问题。我确定我已经安装了opencv,查阅资料后发现是因为安装opencv是会安装的python版本,与系统默认使用的版本不一致,才会导致找不到模块。原创 2021-10-12 10:14:12 · 10760 阅读 · 6 评论 -
【OpenCV/C++】KNN算法识别数字的实现原理与代码详解
KNN算法,即K最近邻算法,其原理是当要预测一个新的值x的时候,根据离他最近的K个点大多属于什么类别来判断x属于哪个类别。同理类比到图像识别方面,使用KNN算法前我们需要有大量的训练样本,并且知道每个样本所属的类别。(例如大量的数字图片,并且知道每个图片代表数字几)。当我们要识别数字时,本质上就是在训练样本中找与要识别的图像最接近的K个样本,然后统计出K个样本中出现最多的数字是哪个,那就是要识别的数字。原创 2021-09-12 09:48:53 · 3850 阅读 · 0 评论 -
一文详解opencv摄像头数字识别
本文的目标是实现识别摄像头图像中的数字。实际应用场景包括 车牌号识别 ,部分竞赛的 A4纸打印数字识别 。摄像头数字识别分为两个步骤:1. 提取图像中的ROI区域,如截取车牌的矩形区域,或截取A4纸的图像。2. 对ROI区域进行数字识别。数字识别相对来说较为简单,先介绍数字识别的方法和原理。原创 2021-09-09 15:37:18 · 16860 阅读 · 8 评论 -
【学习OpenCV4】人脸检测的实现方法
首先需要到opencv的github网站上下载`opencv/samples/dnn/face_detector/`中所有的文件,并覆盖到本地的目录中。然后用记事本打开weights.meta4文件,下载其中两个url对应的文件。由于下载过程需要科学上网,我已经将文件上传。原创 2021-08-14 11:09:02 · 1105 阅读 · 1 评论 -
【学习OpenCV4】图像的模糊处理方法(均值滤波与高斯模糊)
均值滤波用到的是图像卷积原理。由下图所示,卷积核为三阶单位矩阵时,进行均值滤波,原图像的每个三阶子矩阵都会求其均值,并将均值赋给中间的元素。原创 2021-08-13 18:50:08 · 958 阅读 · 0 评论 -
【学习OpenCV4】什么是图像的直方图?如何获取直方图?
图像直方图是图像像素值的统计学特征、计算代价较小,具有图像平移、旋转、缩放不变性等众多优点,广泛地应用于图像处理的各个领域,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类、反向投影跟踪。常见的分为灰度直方图和颜色直方图。原创 2021-08-12 15:15:53 · 2104 阅读 · 0 评论 -
【学习OpenCV4】摄像头视频的读取与存储
在图像处理中,读取视频并进行处理是必不可少的操作,在OpenCV中,读取摄像头的视频所用到的主要函数为 capture()。本文介绍了使用OpenCV读取摄像头视频的方法,以及对摄像头视频进行存储操作的函数实现过程以及具体的解释。原创 2021-07-27 11:42:52 · 1530 阅读 · 0 评论 -
【学习OpenCV4】图像变换方法总结(放缩、翻转、旋转)
常见的图像变换方法包括图像的放缩、图像的翻转、图像的旋转等。在OpenCV中,这些图像变换操作都有着其对应的函数。通过对函数定义的解释以及具体例子,介绍各种图像变换的方法。原创 2021-07-26 11:48:41 · 1569 阅读 · 0 评论 -
【学习OpenCV4】图像像素数据类型的转换与归一
;归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在一定范围的之内。为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的目的,是使得没有可比性的数据变得具有可比性,同时又保持相比较的两个数据之间的相对关系,如大小关系;或是为了作图,原来很难在一张图上作出来,归一化后就可以很方便的给出图上的相对位置等。原创 2021-07-25 12:08:22 · 298 阅读 · 0 评论 -
【学习OpenCV4】在OpenCV中响应键盘与鼠标操作
主要介绍了OpenCV中键盘和鼠标的响应方法,其中用到的各种函数,以及函数各个参数的解释。利用鼠标和键盘的响应编写了一些有趣的小程序。原创 2021-07-24 10:29:40 · 1722 阅读 · 4 评论 -
【学习OpenCV4】随机数的使用与随机线条的生成
C和C++中提供了rand() 和srand()函数用于产生随机数,使用C++编写OpenCV代码时也可以使用。同时OpenCV自身也提供了生成随机数的类RNG,使用起来也十分方便,本文主要介绍RNG的使用方法,以及基于RNG生成的随机数,绘制随机线条的方法。原创 2021-07-23 10:54:17 · 643 阅读 · 2 评论 -
【学习OpenCV4】几何图形的绘制方法
本文介绍了使用C++与OpenCV4完成矩形、圆形、直线、椭圆的绘制方法,重点总结了OpenCV内置函数(如rectangle()、circle()、line()、ellipse())的定义以及各参数的作用,并给出了示例程序作为参考。此外本文还总结了多边形的绘制方法,包括多边形边框的绘制函数polylines()、多边形填充函数fillPoly()、绘制多个多边形的函数drawContours()等。原创 2021-07-22 11:31:42 · 678 阅读 · 2 评论 -
【学习OpenCV4】教你替换绿幕背景
绿幕图像的背景替换需要经历①色彩空间转换、②提取绿幕区域、③反转绿幕区域、④复制图像,其中遇到的各种函数和代码也都在本文有详细介绍。原创 2021-07-21 11:30:03 · 3557 阅读 · 2 评论 -
【学习OpenCV4】图像通道的分离、合并与混合方法(C++)
图像通道的分离后输出的多通道序列一般使用 std::vector<Mat> mv; 来存储,mv[0] 、mv[1]、mv[2]、分别对应BGR三个通道。但是现在显示的相当于是三张单通道的图像,也就相当于三张灰度图像。要想让三张图像恢复直观意义上的色彩,就需要使用下面通道合并的方法了。原创 2021-07-20 12:33:40 · 1507 阅读 · 6 评论 -
【学习OpenCV4】滚动条Trackbar的创建与使用详解
OpenCV中使用 createTrackbar() 来创建滚动条,函数的使用方法如下,各个参数的作用也在下面的表格中给出。原创 2021-07-19 11:58:27 · 1058 阅读 · 1 评论 -
【学习OpenCV4】如何操作图像中的像素?
图像的像素操作包括读写操作、算数操作、逻辑运算操作等。像素的操作方式不仅多样,对于灰度图的操作和对彩色图的操作也有各自的特点。对像素点的操作可以使我们访问图像的每一个像素点,实现许多意想不到的功能。原创 2021-07-18 11:22:31 · 694 阅读 · 6 评论 -
【学习OpenCV4】图像的基本操作
文章介绍了图像的色彩空间转换的方法,包括BGR、GRAY、HSV色彩空间的相互转换。此外介绍了创建空白图像的方法以及图像的几种复制方法。GRAY:指灰度,只有一个参数灰度值Channel。BGR:指BGR颜色空间,以红绿蓝三基色(0~255)为基础,叠加形成各种颜色。HSV:指六角椎体模型,色调Hue用角度度量(0~180),饱和度Saturation(0 ~ 255),亮度Value(0 ~ 255)。原创 2021-07-17 11:56:08 · 296 阅读 · 4 评论 -
【学习OpenCV4】OpenCV4.5与Visual Studio安装与环境搭建(亲自试验)
由于本人在学习过程中逐渐接触到了OpenCV,需要在此方向学习,因此总结了此篇博客。本文是关于OpenCV与VS2019在win10环境中的安装过程介绍以及相关的环境配置方法。原创 2021-07-16 22:29:13 · 1324 阅读 · 1 评论