OpenCV包
本专栏总结利用OpenCV包过程中遇到的问题和一些学习总结。
lovetaozibaby
这个作者很懒,什么都没留下…
展开
-
OpenCV计算机视觉实战(Python)| 14、项目实战:停车场车位识别
文章目录简介总结1、项目介绍2、步骤3、程序简介本节为《OpenCV计算机视觉实战(Python)》版第14讲,项目实战:停车场车位识别,的总结。总结1、项目介绍统计:有多少停车位哪些个停车位被占据,哪些个停车位没有被占据2、步骤预处理3、程序Parking.py:main.py:from __future__ import divisionimport matplotlib.pyplot as pltimport cv2import os,globimpor原创 2020-08-06 18:48:03 · 2016 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 13、项目实战:全景图像拼接
文章目录简介一、特征匹配总结1、 蛮力匹配(Brute-Force)介绍程序2、随机抽样一致算法(RANSAC)二、项目实战——图像拼接1、步骤2、程序重点总结简介本节为《OpenCV计算机视觉实战(Python)》版第13讲,项目实战:全景图像拼接,的总结。一、特征匹配总结1、 蛮力匹配(Brute-Force)介绍比较任意两个特征之间的距离(归一化欧氏距离),给定参数K,可以输出距离最小的K个匹配项。程序import cv2import numpy as npimport matpl原创 2020-08-01 15:58:40 · 1257 阅读 · 2 评论 -
OpenCV计算机视觉实战(Python)| 12、SIFT图像特征
文章目录简介总结1. SIFT介绍图像尺度空间多分辨率金字塔高斯差分金字塔(DOG)关键点的精确定位消除边界相应特征点的主方向生成特征描述构造特征2. OpenCV程序简介本节为《OpenCV计算机视觉实战(Python)》版第12讲,SIFT图形特征,的总结。总结1. SIFT介绍SIFT全称:Scale Invariant Feature Transform首先介绍图像尺度空间的定义。图像尺度空间在一定的范围内,无论物体是大还是小,人眼都可以分辨出来,然而计算机要有相同的能力却很难,所以原创 2020-08-01 14:51:31 · 451 阅读 · 2 评论 -
OpenCV计算机视觉实战(Python)| 11、Harris角点检测
文章目录简介总结Harris角点检测1. 角点介绍定义相关的数学知识边界、平面和角点的数学定义2. 算法流程3. 程序示例OpenCV示例简介本节为《OpenCV计算机视觉实战(Python)》版第11讲,Harris角点检测,的总结。总结Harris角点检测1. 角点介绍定义角点定义:不管是在竖直还是水平方向移动,像素值都发生剧烈的变化。图中,E和F是角点,C和D是边界但不是角点。相关的数学知识计算机如何识别角点:针对图像中的某个像素点I(x,y),移动后灰度级的变化情况(同时原创 2020-07-29 16:26:37 · 422 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 10、项目实战:文档扫描OCR识别
文章目录简介总结1. 介绍2. 流程3. 程序4. 知识点总结简介本节为《OpenCV计算机视觉实战(Python)》版第10讲,项目实战:文档扫描OCR识别,的总结。总结1. 介绍识别图像中的所有的字符(汉字、英语等字体)。2. 流程边缘检测:预处理 + 边缘检测轮廓检测:对检测到的轮廓进行排序,排序可以按照轮廓面积的大小,然后得到最大的轮廓(跟图像大小相同的轮廓),轮廓近似,得到四个点的轮廓。透视变换:将2维坐标值[x,y]转化为三维齐次坐标[x,y,1],新的坐标[X,Y,原创 2020-07-28 17:35:22 · 1328 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 9、项目实战:信用卡数字识别
文章目录简介总结1.介绍2. 流程3. 程序简介本节为《OpenCV计算机视觉实战(Python)》版第9讲,项目实战:信用卡数字识别,的总结。总结1.介绍从一个银行卡中识别其中的银行卡号:2. 流程首先,创建模板图像,对模板进行边缘检测、轮廓检测,得到10个数字分别对应的模板。 模板图像包括0-9共10个数,在匹配的时候,分别提取10个模板,将输入的图像中的数分别与模板图像做匹配,得到最小误差的模板,即为该图像的数字;模板:预处理:轮廓检测:接着,输入图像(银行卡),灰度图,二原创 2020-07-28 15:47:02 · 1041 阅读 · 1 评论 -
OpenCV计算机视觉实战(Python)| 8、直方图与傅里叶变换
文章目录简介总结1. 直方图直方图示例一示例二mask操作直方图均衡化自适应直方图均衡化2. 傅里叶变换介绍应用OpenCV程序简介本节为《OpenCV计算机视觉实战(Python)》版第8讲,直方图与傅里叶变换,的总结。总结1. 直方图像素点的统计值:直方图OpenCV代码:cv2.calcHist(image, channels, mask, histSize, ranges)images: 原图像图像格式为uint8或float32,当传入函数时,应用中括号[]来表示,例如[im原创 2020-07-28 13:53:55 · 312 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 7、图像金字塔与轮廓检测
文章目录简介总结图像金字塔高斯金字塔介绍高斯金字塔程序拉普拉斯金字塔拉普拉斯程序图像轮廓轮廓检索轮廓检索程序轮廓近似边界矩形外接圆模板匹配匹配多个对象简介本节为《OpenCV计算机视觉实战(Python)》版第6讲,边缘检测(Canny边缘检测),的总结。总结图像金字塔高斯金字塔拉普拉斯金字塔金字塔的每一层特征可以采取不同的方式获得,这样每一层的特征都不同。高斯金字塔介绍高斯金字塔:向下采样放方法(缩小)高斯金字塔:向上采样方法(扩大)将图像在每个方向扩大为原来的两倍,新增原创 2020-07-25 23:18:36 · 532 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 06、边缘检测
文章目录简介总结Canny边缘检测器步骤高斯滤波Sobel算子非极大值抑制双阈值抑制程序简介本节为《OpenCV计算机视觉实战(Python)》版第6讲,边缘检测(Canny边缘检测),的总结。总结Canny边缘检测器步骤使用高斯滤波器,以平滑图像,滤除噪声计算图像中每个像素点的梯度强度和方向应用非极大值抑制(Non-maximum Supression),以消除边缘检测带来的杂散响应应用双阈值(Double-Threshold)检测来确定真实和潜在的边缘通过抑制孤立的弱边缘最终完成边原创 2020-07-25 16:34:51 · 617 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 05、图像梯度处理
文章目录简介总结Sobel算子Scharr算子Laplacian算子各种算子的比较简介本节为《OpenCV计算机视觉实战(Python)》版第四讲,阈值与平滑处理,的总结。总结Sobel算子Sobel算子:其计算梯度的过程为:OpenCV代码:dst = cv2.Sobel(src, ddepth, dx, dy, ksize)ddepth: 图像的深度,默认为-1dx,dy: 分别表示水平和竖直方向ksize: 表示Sobel算子的大小# 读入图像img = cv2.imr原创 2020-07-25 15:43:13 · 547 阅读 · 1 评论 -
OpenCV计算机视觉实战(Python)| 04、图像形态学处理
文章目录简介总结形态学-腐蚀操作形态学-膨胀操作形态学-开/闭操作开运算闭运算梯度运算礼帽和黑帽简介本节为《OpenCV计算机视觉实战(Python)》版第四讲,图像形态学处理,的总结。总结形态学-腐蚀操作img = cv2.imread('dige.png')cv2.imshow('img',img)cv2.waitKey(0)cv2.destroyAllWindows()kernel = np.ones((5,5), np.unit8)erosion = cv2.erode(pi原创 2020-07-25 14:41:00 · 208 阅读 · 1 评论 -
OpenCV计算机视觉实战(Python)| 03、阈值与平滑处理
文章目录简介总结图像阈值图像平滑均值滤波方框滤波高斯滤波中值滤波简介本节为《OpenCV计算机视觉实战(Python)》版第三讲,阈值与平滑处理,的总结。总结图像阈值ret, dst = cv2.threshold(src, thresh, maxval, type)src: 输入图,只能输入单通道图像,通常来说为灰度图dst: 输出图thresh: 阈值maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值type: 二值化操作的类型,包含以下5种类型:原创 2020-07-25 11:05:07 · 502 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 02、图像基本操作
题目索引简介总结图像数据读取图像显示和保存图像一些简单操作图像灰度化图像尺寸的计算图像类型图像大小图像类型视频读取截取部分图像数据颜色通道提取颜色通道合并只保留某个通道边界填充数值计算图像缩放图像融合简介本节为《OpenCV计算机视觉实战(Python)》版第二讲,图像基本操作,的主要内容以及讲解,按顺序。总结图像数据读取cv2.IMREAD_COLOR:彩色图像cv2.IMREAD_GRAYSCALE:灰度图像import cv2import matplotlib.pyplot as原创 2020-07-24 23:17:44 · 417 阅读 · 0 评论 -
OpenCV | Mac下配置anaconda+Python3+Pycharm+OpenCV
简介最近想anaconda3下载下载网址:Mac下Anaconda Navigator打不开的解决办法网址:https://blog.csdn.net/weixin_37856444/article/details/103751554?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distri...原创 2020-03-19 10:41:02 · 1144 阅读 · 2 评论 -
CV | 计算几何之凸包(cv2.convexHull)
概念通俗的话来解释凸包:给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点。凸包的计算方法有:卷包裹算法(Gift Wrapping Algorithm),Graham扫描法(Graham Scan Algorithm),快速凸包算法(Quickhull Algorithm)等。具体的凸包原理等在以下链接:https://www.cnblogs.com...原创 2019-11-23 15:55:11 · 13457 阅读 · 4 评论 -
CV | 矩形度的计算(python)
简介在做跟踪匹配的时候,由于目标的形状不能保持,有可能会存在上下两帧目标图像形状不能一直保持矩形的情况,因此没有利用形状信息进行目标跟踪。但是又不想浪费形状信息,因此利用矩形度特征进行加权。从网上查找没有找到类似的程序,只看到了矩形度的概念。在此补充程序(python版)。1.矩形度概念矩形度体现物体对其外接矩形的充满程度,反映一个物体与矩形相似程度的一个参数,是矩形拟合因子。其计算公式为...原创 2019-11-23 15:15:08 · 5319 阅读 · 7 评论 -
CV | 图像颜色空间转换(RGB->LAB->RGB)
引言想要将一幅图像,从RGB空间转LAB空间,操作后再换回RGB空间,最开始是参照一个博主给出的自己写的颜色空间转换代码(链接为:https://blog.csdn.net/qq_36810544/article/details/83855962),但是当图像像素比较大时,由于该代码转换颜色空间时用了多重for循环,运行速度过慢。800*1000的图像运行了13s,无法实现实时性的要求。1. ...原创 2019-09-16 12:01:37 · 4908 阅读 · 0 评论 -
Python | 关于OpenCV和plt画图中数据类型不为unit8的问题
引言对图像做了一个RGB-> LAB ,再转RGB的一个转换。转换后用plt画图时,发现显示出来的图像,和保存下来的图像,颜色显示不太一致。最开始还以为是电脑的问题,但是转用OpenCV画图时,直接报错了。查阅资料才发现,这个是跟图像矩阵中的数据类型有关。程序1. OpenCV程序:图像显示程序为:cv2.imshow("image",img)cv2.waitKey(0)cv...原创 2019-09-16 11:25:12 · 2130 阅读 · 0 评论 -
OpenCV | 直线拟合fitline函数(Python)
简介之前做直线拟合时,自己写了一个利用最小二乘做直线拟合的程序,但是由于直线检测的误差比较大,拟合的效果并不好。个人不知道是什么原因,因此想尝试更改一下直线拟合的算法,后来找到了OpenCV中的fitline函数,也是一个距离最小化函数,它完全包含了最小二乘法。由于网上没有找到相关的与python有关的资源,这里总结如下。1. 函数调用python3中fitline函数的调用形式如下:im...原创 2019-08-13 22:39:36 · 30404 阅读 · 4 评论 -
OpenCV | 图像读取和显示
简介之前在做深度学习时调用过Opencv,但是从来没有认真总结过OpenCV图像处理的一些基本操作,这篇博客作为OpenCV图像处理的第一篇博客,以后会不断更新在学习计算机视觉的路上,在OpenCV上遇到的坑和解决办法。图像读取和显示OpenCV读取和显示图像的代码非常简单,如下所示: src= cv2.imread('./test.png') cv2.imshow('im...原创 2019-05-13 17:07:48 · 326 阅读 · 1 评论