![](https://img-blog.csdnimg.cn/20210704171201844.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
OpenCV
文章平均质量分 76
OpenCV学习
东东咚咚东
这个作者很懒,什么都没留下…
展开
-
python学习笔记
python学习记录笔记原创 2023-01-04 17:22:14 · 1475 阅读 · 4 评论 -
霍夫变换直线检测
目录霍夫变换原理映射峰值统计总结OpenCv中的霍夫线检测霍夫变换原理霍夫变换运用两个坐标空间之间的变换,将在一个空间中具有相同形状的曲线或直线映射到另一个坐标空间的一个点上形成峰值,从而把检测任意形状的问题转化为统计峰值问题。可以看出,要搞清楚的主要问题:映射 峰值统计映射比如说,当霍夫空间参数为(k,q)时:在笛卡尔坐标平面(x、y坐标系)中的一条直线(y=kx+q)对应霍夫空间的一个点(k,q)。反过来同样成立,笛卡尔坐标系中的一个点对应着霍原创 2021-08-18 10:53:35 · 3423 阅读 · 0 评论 -
KNN最近邻分类算法
如题所示,该算法简称KNN,采用的方法是最近邻,目的是分类。KNN算法概述在已有数据集中已将数据分为n类,那么如果此时再进来一个新的数据如何给他分类呢?应该选取距离他最近的k个邻居(k由你定),选择范围内样本数量最多的类别作为新数据的类别。如果多个类别的样本数量同时最多时,根据距离权重来判断,离的近的决定其类别。OpenCv中的KNNimport cv2 as cvimport numpy as npimport matplotlib.pyplot as plt# 包含(x原创 2021-08-14 12:58:02 · 1898 阅读 · 0 评论 -
meanshift原理与代码详解
什么是目标跟踪:在图像中跟踪某个目标,说白一点,就是在图像内跟踪这个图像内的一个小图像。记住我说的这个图像和小图像的概念,那么我们开始了。meanshift原理meanshift的原理是根据概率密度的梯度爬升来寻找局部最优。概率密度想了解概率密度就得先了解什么是概率?显然,这个概率就是图像内的某一像素点在小图像内的概率。那么什么是概率密度?不需要了解太多,因为我们只是需要概率密度来做个判断的媒介。简单记住,概率较高的那片区域概率密度比较大。比如上图,右上角的概率密度.原创 2021-08-13 14:45:49 · 1309 阅读 · 0 评论 -
OpenCv背景分离
BS背景分离技术BS技术即通过把当前帧与背景模型相减得到前景掩码,再将前景掩码应用到当前帧上,最终形成的背景分离的视觉效果。如下演示:OpenCv中的BS技术OpenCv通过使用cv::BackgroundSubtractor类创建和更新背景类,示例如下:# coding: utf-8import cv2 as cvdef test(algo="MOG2"): """ :param algo: MOG2 or KNN. """ # 创建背景分原创 2021-08-10 14:13:51 · 903 阅读 · 0 评论 -
OpenCv特征匹配
OpenCv提供了两种描述符匹配方法:Brute-Force匹配与FLANN匹配1.Brute-Force匹配1.1创建BFMatcher对象1.2使用两个方法:match()或knnMatch()进行描述符匹配1.3基于ORB或SIFT的BF匹配2.FLANN匹配2.1第一个字典是IndexParams2.2第二个字典是SearchParams:2.3FLANN匹配器示例1.Brute-Force匹配Brute-Force匹配又称蛮力匹配,将一组特征点中的每一个..原创 2021-08-09 22:09:03 · 7806 阅读 · 1 评论 -
ORB特征检测
ORB,全称Oriented FAST and Rotated BRIEF,是一种快速特征点提取和描述的算法。计算速度比SIFT快百倍,比SUFT快10倍。从名称中可以看出,ORB本质是FAST角点检测算法和BRIEF特征描述符的集合。为什么要这样子呢?因为FAST特征点检测不涉及特征点描述,而BRIEF特征描述符有不具备旋转不变性、不具备尺度不变性、对噪声敏感等缺点,将二者结合可以优势互补,劣势相消。# FAST特征点检测import cv2 as cvimg = cv.imread('g原创 2021-08-09 12:13:07 · 671 阅读 · 0 评论 -
哈里斯角检测
1.角从名称来看,哈里斯角检测将会标记出图片中的角,那么计算机怎么在一堆像素值中辨别出角呢?看看上面这张图吧,聚焦一小块区域,并对区域进行移动。若上下左右移动时区域内的像素都产生变化,则为角。 若对特定方向移动时像素值才产生变化,则为边缘。如图②左右移动不变,上下移动发生变化。 若向所有方向移动区域都不发生变化则为物体内部。顺带一提,角、边缘、物体内部即是物体的特征。2.opencv函数1.哈里斯角检测函数:dst = cv.cornerHarris( src, blockSi原创 2021-08-05 12:18:35 · 721 阅读 · 0 评论 -
高手勿入!直方图均衡化、规定化(匹配)
1.基于直方图的图像增强原理1.1直方图是什么?直方图分为一维直方图和二维直方图。文本仅介绍一维直方图,读者可举一反三学会二维直方图。如上就是一张图片的一维直方图,一维直方图描述的是图片的灰度图形式中灰度级与数量的关系,x轴表示灰度级,y轴表示该灰度级的像素点数量。以下都将一维直方图简称为直方图。1.2直方图与图像增强图像的明暗状况与对比度等特征信息都可以通过直方图反应出来。因此可以通过修改直方图的方法来调整一幅数字图像的灰度分布以达到增强图像的目的。常用的方法有直方图均衡化与直方图原创 2021-07-28 13:09:03 · 4132 阅读 · 1 评论 -
一篇文章学会轮廓检测
1.什么是轮廓?为什么要进行轮廓检测?轮廓是什么?1.对于人眼来说,是图片中某一物体的边缘。2.对于机器来说,是矩阵中沿着边缘的相同颜色即相同像素点强度的所有连续点的曲线。(我们在前篇中已经详细讲过图片在计算机中其实是一个矩阵:图像与矩阵)为什么要对轮廓进行检测?轮廓是后续用于对图中物体进行形状分析或者对象识别的有效媒介。2.轮廓检测原理轮廓检测的原理是轮廓跟踪。即通过顺序逐点跟踪目标边界,最终找出的所有点构成的就是边界。注意:在开始讲述之前,最好确保图像已经二值化(即只存.原创 2021-07-24 19:15:27 · 5128 阅读 · 1 评论 -
Canny边缘检测
Opencv中以将Canny边缘检测封装为函数了。只需在使用之前对图片进行高斯模糊(高斯平滑)处理防止噪音干扰。import cv2# 读图src = cv2.imread("azr.jpg")# 高斯滤波降噪,使用5*5内核src = cv2.GaussianBlur(src, (5, 5), 0)# Canny边缘检测,50为低阈值low,150为高阈值highcanny = cv2.Canny(src, 0, 150)cv2.imshow("azr",src)cv2.原创 2021-07-21 11:44:05 · 428 阅读 · 2 评论 -
OpenCv图像锐化及各种高通滤波
目录什么是图像锐化以及为什么要进行图像锐化图像锐化的方法1.空域滤波的可使用几种方法1.1梯度法1.2拉普拉斯算子法1.3定向滤波法2.频域方面的高通滤波什么是图像锐化以及为什么要进行图像锐化是什么?消除或减弱图像的低频分量从而增强图像中物体的边缘轮廓信息的过程称为图像锐化。为什么?在上一节图像平滑处理过程中不仅消除了噪音,也使边缘纹理受到了损失(都是高频分量)。为了突出图像的边缘纹理信息,就可以使用图像锐化处理。图像锐化的方法图像锐化可以采用基于空间原创 2021-07-19 22:26:55 · 18459 阅读 · 2 评论 -
OpenCv图像平滑
什么是图像平滑?怎么做到图像平滑?原创 2021-07-17 20:14:05 · 886 阅读 · 2 评论 -
图像增强概论
图像增强是什么?为什么要图像增强?是什么?图像增强是数字图像处理的基本内容之一,使图像的视觉效果发生变化,某些特定信息得到增强。为什么?根据特定应用的需要突出图像中的某些特定信息,削弱不需要的信息,以达到扩大图像中不同物体特征之间的差别,使得处理后的图像对于这个特定应用来说比原始图像更加合适。图像增强的处理分类图像增强一般是指对灰度图像进行增强,有两种方法:①基于空间域增强:直接在图像所在的二维空间进行处理,也就是说直接对每一个像素点进行处理。又可分为两种方法类别:灰度.原创 2021-07-16 12:34:22 · 1404 阅读 · 3 评论 -
一篇文章学会读取、修改图的像素值以及图片的加法、融合、运算
思维导图思考一下对一张图片的操作能有什么操作?无非就是改变他的内容,往细了说,就是修改图片每一个像素点的值。那么如何修改一个像素点的值呢?首先肯定要知道这个像素点的通道数吧(即色彩模式),然后才能进行修改。而对于修改来说,要么把原来的值修改成你自己想的一个值,要么把原来的值修改成另一幅图上的值(图片的融合...)。因此给出本篇的思维导图:目录1.读取图片1.1读取图片属性1.2读取图片的像素值2.对1张图的操作2.1修改像素值2.1.1修改某一特定点的像素值2原创 2021-07-13 23:52:38 · 2166 阅读 · 1 评论 -
OpenCV绘制基本图形及鼠标响应事件
学习在图像上画各种图形,学习鼠标响应事件等原创 2021-07-11 11:59:09 · 923 阅读 · 1 评论 -
图像与矩阵
图像与矩阵在计算机中的关系。原创 2021-07-07 00:32:40 · 2602 阅读 · 1 评论 -
OpenCv视频读与存
1.视频的读1.1 捕获视频使用【cv.VedioCapture(参数)】来打开视频,并读取视频的帧。参数:若要打开视频文件,则参数是文件路径:cv.VideoCapture(const string& filename)若要打开摄像头设备,则是0开始的整数:cv.VideoCapture(int device)例:import cv2 as cvcap = cv.VideoCapture(0)#使用完资源后别忘记释放cap.release()1.2 检查原创 2021-07-05 14:13:42 · 1022 阅读 · 4 评论 -
OpenCv图像读存
1.图像的读与存1.1 图像读取使用【cv.imread(参数1,参数2)】读出图像。参数1:给出图片的路径,应在工作目录下或者给出绝对路径。参数2:指定读出图片的方式,有以下3种方式。cv.IMREAD_COLOR: 加载彩色图像,但忽视透明度。默认标志。可用整数1简单代替。 cv.IMREAD_GRAYSCALE:以灰度模式加载图像。可用整数0简单代替。 cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。可用整数-1简单代替。警告:即使图像路径错误,imr.原创 2021-07-04 16:59:23 · 2163 阅读 · 0 评论 -
OpenCV安装教程
1.确保已安装Python1.1win+r打开cmd输入Python验证是否已安装Python并查看版本号 附:Python安装地址,https://www.python.org/downloads/且安装完Python后需要安装pip,直接在csdn上搜【安装pip】2.安装numpy2.1 介绍:NumPy 是什么?NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括:功能强大的N维数组对象。 精密广播功能函数。 集成 C...原创 2021-07-02 22:51:28 · 1358 阅读 · 2 评论