
openCV学习
文章平均质量分 51
对opencv学习后总结
左小田^O^
这个作者很懒,什么都没留下…
展开
-
AlexNet学习记录
学习记录:https://zhuanlan.zhihu.com/p/27222043https://blog.youkuaiyun.com/qq_24695385/article/details/80368618https://www.cnblogs.com/wangguchangqing/p/10333370.htmlAlexNet是在LeNet的基础上加深了网络的结构,学习更丰富更高维的图像特征。AlexNet的特点:更深的网络结构使用层叠的卷积层,即卷积层+卷积层+池化层来提取图像的特征使用Drop转载 2021-04-12 09:54:25 · 110 阅读 · 0 评论 -
opencv 读取视频及ret, frame = cap.read()函数含义
video_capture = cv2.VideoCapture(0)ret, frame = video_capture.read()第一个参数ret 为True 或者False,代表有没有读取到图片第二个参数frame表示截取到一帧的图片原创 2021-03-13 22:12:40 · 18248 阅读 · 3 评论 -
Anaconda安装opencv-python
知乎教程:知乎教程原创 2020-12-22 20:16:16 · 6283 阅读 · 1 评论 -
Python-Opencv学习总结(九):傅里叶变换、高通滤波、低通滤波
1、理论基础时域角度:从时间节点告诉我们时间发生了什么。频域角度:频率角度,多久发生一次。相位:时间差的表述,相位:不是同时开始的一组余弦函数,在叠加时要体现开始的时间。2、numpy实现傅里叶变换函数:numpy.fft.fft2:实现傅里叶变换,返回一个复数数组(complex ndarray)numpy.fft.fftshift:将零频率分量移到频谱中心。20*np.log(np.abs(fshift)):设置频谱的范围[0,255];先取绝对值,再取log,再乘20im原创 2020-12-17 11:30:09 · 2142 阅读 · 0 评论 -
Python-Opencv学习总结(八):直方图绘制、掩膜、subplot函数、直方图均衡化函数equalizeHist、
1、直方图1.1基本理论横坐标:图像中各个像素点的灰度级。灰度级:就是灰度数的等级:0-255纵坐标:具有该灰度级的像素个数。例:灰度级5:就是像素为5的像素个数如下图:方框里面的数字代表像素灰度级,y是数每个灰度级的个数。然后根据数据,进行绘制直方图归一化直方图横坐标:图像中各个像素点的灰度级。纵坐标:出现这个灰度级的概率。如下图:纵坐标便是概率了。DIMS:使用参数的数量,即绘制直方图的时候要考虑那些信息。dims=: 1 一般为1一般只考虑一个即灰度直方图,仅仅考虑灰度的原创 2020-12-16 16:39:48 · 1813 阅读 · 0 评论 -
opencv图像基础知识简介+色彩空间总结
记录学习:1、图像基本知识2、色彩空间总结:RGB、YIQ、YUV、CMY、HSV3、RGB与YCbCr原创 2020-12-10 14:44:53 · 155 阅读 · 0 评论 -
Python-Opencv学习总结(七):Canny边缘检测、图像金字塔、图像轮廓
1、Canny边缘检测一般步骤:1.去噪:通常采用高斯滤波器去除噪声。2.梯度:对平滑后的图像采用sobel算子计算梯度和方向。方向计算:角度=tan^-1(垂直梯度\水平梯度)梯度的方向一般总是与边界垂直。梯度方向被归为四类:垂直,水平,和两个对角线。3.非极大值抑制:在获得了梯度和方向后,遍历图像,去除所有不是边界的点。实现方法:逐个遍历像素点,判断当前像素点是否是周围像素点中具有相同方向梯度的最大值。保留相同方向的最大值被保留4.滞后阈值:滞后阈值1:minVal,滞后阈值2:ma原创 2020-12-07 22:15:11 · 1364 阅读 · 0 评论 -
CV2遇到not enough values to unpack (expected 3, got 2)解决办法
CV2遇到not enough values to unpack (expected 3, got 2)解决办法原因:opencv版本问题opencv 3.4.3.18 以下版本返回三个参数 ,以上版本返回2个参数。修改:contours , hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)问题解决...原创 2020-11-26 15:08:08 · 913 阅读 · 0 评论 -
欧拉视角原理
原理讲解:从视频中分离出感兴趣的空间微弱信号,然后滤除通频带以外的噪声,保留感兴趣区域频率范围内的变化信号,最后将其变化信号扩大n倍,并重构视频。空间分解:从众多不同空间频率的混合信号中分离出空间上感兴趣的微弱变化信号,提高信噪比。分解算法:高斯金字塔,拉普拉斯金字塔。详细代码可参考大佬文章:EVM算法的python实现...原创 2020-11-24 09:09:14 · 379 阅读 · 0 评论 -
高斯金字塔和拉普拉斯金字塔
学习大佬的,很详细的介绍,记录一下原创 2020-11-22 19:13:34 · 452 阅读 · 0 评论 -
cv2.putText,cv2.rectangle方法
cv2.putText,cv2.rectangle方法常用方法:cv2.putText(img,xy,(x1,y1), cv2.FONT_HERSHEY_PLAIN, 2, (0, 0, 255), thickness=2)img:要作用的图片xy:显示的文本内容(字符串)(x1,y1):文本显示在图片上的位置坐标cv2.FONT_HERSHEY_PLAIN:字体类型2:字体大小(0,0,255):显示的文本颜色(红色)thickness = 2:字体粗细,数值表示占几个像素cv2.re原创 2020-11-05 15:45:20 · 544 阅读 · 0 评论 -
opencv泛洪填充:cv2.floodFill
详细解释泛洪填充原创 2020-10-29 11:11:57 · 542 阅读 · 0 评论 -
目标检测图像特征提取——HOG特征
目标检测图像特征提取——HOG特征原创 2020-10-11 15:10:15 · 106 阅读 · 0 评论 -
图像梯度的基本概念和求解
添加链接描述原创 2020-10-11 10:22:40 · 449 阅读 · 0 评论 -
Python-Opencv学习总结(六):图像梯度sobel、scharr、laplancian
1、sobel算子计算不同方向上的梯度,用一个卷积核与原始图像相乘。计算水平方向的梯度如上图,计算P5的梯度,用右边一列减去左边一列,又因为P4和P6挨P5较近,所以权重更大中间的图像便是卷积核若P5左右两列数值相差较大,则P5梯度也会很大,则此处边界若P5左右两列数值相差较小,则P5梯度也会很小,则此处不是边界计算垂直方向的梯度如下图计算近似梯度:sobel函数的使用1、dst = cv2.Sobel( src,ddepth,dx,dy,[ksize])dst:计算结果原创 2020-07-19 10:05:15 · 603 阅读 · 0 评论 -
Python-Opencv学习总结(五):形态学转换
形态学转换主要针对是二值图像两个输入对象:1.二值图像,2.卷积核:一个数组1、图像腐蚀图像的边变得更细了。可以去除噪声(边上的毛刺)卷积核的中心点逐个像素扫描原始图像;被扫描到的原始图像中的像素点,只有当卷积核对应的元素值均为1时,其值才为1,否则值为0。卷积核中心点遍历原始图像,当卷积核中心点所在位置的两边都是白色,即像素值为1的时候,才保留原始图像这个点。当卷积核中心点所在位置的两边颜色不一样时,则将该处的原始图像设置为0,即变成黑色了。使用函数erodedst=cv2.erode(s原创 2020-07-18 15:15:14 · 1739 阅读 · 1 评论 -
Python-Opencv学习总结(四):图像平滑
1、均值滤波任意一点的像素值,都是周围N*N个像素值的均值如上图是一个图片的像素分布,红色区域226,红色可以作为周围NN个像素的均值例:选取55的区域,红色区域的像素新值=蓝色背景区域像素值之和除25中间部分称为:核。每一个都是1/25, 核根据要取多少N*N决定针对原始图像内的像素点,逐个采用核进行处理,得到结果图像.使用函数:处理结果=cv2.blur(原始图像,核大小)处理结果=cv2.blur(原始图像,核大小)r=cv2.blur(a,(5,5))核大小:以(宽度,高度)原创 2020-07-18 14:53:19 · 421 阅读 · 0 评论 -
Python-Opencv学习总结(三):阈值分割
11、图像缩放使用函数cv2.resize()dst=cv2.resize(src, dsize)src为原始图像,dsize为要处理后的图像的列行例:b=cv2.resize(a,(122,122))注意:第一个数字代表列,第二个才是行dst=cv2.resize(src,dsize,fx,fy) 不使用dsize的情况下使用fx,fyfx:在水平方向缩放多少倍,大于1就是放大,小于1就是缩小fy:在垂直方向缩放多少倍,大于1就是放大,小于1就是缩小例:b=cv2.resize(a,N原创 2020-07-18 11:44:04 · 746 阅读 · 0 评论 -
Python-Opencv学习总结(二):ROI、图像融合、图像类型转换
6、图像感兴趣区域ROI(region of interest)从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域。可以通过各种算子(Operator) 和函数来求得感兴趣区域ROI,并进行图像的下一步处理。假设我们感兴趣的区域为200行-400行,200列-400列,则采用切片,命名为face取出该区域。img=cv2.imread(‘图像名称’)face=img[200:400,200:400]import cv2import numpy as npa=cv2.imre原创 2020-07-18 10:50:26 · 927 阅读 · 0 评论 -
Python-Opencv学习总结(一):图像读取和获取图像特征
1、图像读取、显示和保存读取图像:cv2.imread(‘文件路径’,控制参数)文件路径:图片保存的路径,路径必须全英文控制参数:cv2.IMREAD_UNCHANGED 不改变图像;cv2.IMREAD_GRAYSCALE 灰度显示;cv2.IMREAD_COLOR 彩色显示import cv2img = cv2.imread(r'D:\image\lena.bmp',cv2.IMREAD_UNCHANGED)显示图像:cv2.imshow(‘窗口名’,图像名)设置显示时长:c原创 2020-07-18 10:01:13 · 2189 阅读 · 2 评论