- 博客(34)
- 资源 (22)
- 收藏
- 关注
原创 opencv练习15OpenCV 中的轮廓
1.1 初识轮廓目标• 理解什么是轮廓• 学习找轮廓,绘制轮廓等• 函数:cv2.findContours(),cv2.drawContours()1.1 什么是轮廓轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。• 为了更加准确,要使用二值化图像。在寻找轮廓之前,要进行阈值化处理或者 Canny 边界检测。• 查找轮廓的函数会修改原始图像。如果你在找到轮廓之后还想使用原始图像的话,你应该将原始图像存储到其他变量中。
2021-03-29 21:22:33 186
原创 opencv练习14图像金字塔
一般情况下,我们要处理是一副具有固定分辨率的图像。但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理。比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸大小。这种情况下,我们需要创建创建一组图像,这些图像是具有不同分辨率的原始图像。我们把这组图像叫做图像金字塔(简单来说就是同一图像的不同分辨率的子图集合)。如果我们把最大的图像放在底部,最小的放在顶部,看起来像一座金字塔,故而得名图像金字塔。有两类图像金字塔:高斯金字塔和拉普拉斯金字塔。高斯金字塔的顶部是通过将底部图像中的
2021-03-29 21:01:18 171
原创 人体姿态检测1
class Human: """ body_parts: list of BodyPart """ __slots__ = ('body_parts', 'pairs', 'uidx_list') def __init__(self, pairs): self.pairs = [] self.uidx_list = set() self.body_parts = {} for pair in pairs
2021-03-29 17:57:45 290
原创 2021-03-28
自顶向下的算法先从图像中检测出所有人,随后利用单人姿态估计的方法对所有人进行姿态估计。自顶向下算法的缺点是算法运行效率随着人数增加而降低,且部分被遮挡的人无法被检测,精度不高。自底向上自底向上的算法,先检测出所有人的骨点,再将骨点进行连接形成图,最后通过图优化的方法剔除错误的连接,实现多人姿态估计。自底向上算法的优点是运行时间不随人数增加而线性增加,更有利于实时多人姿态估计。站长这次采用的多人姿态估计方法是基于自底向上的方法,是一种六阶段双分支的深度神经网络结构,可同时获得骨点位置以及骨点之间的连接置
2021-03-28 20:19:53 96
原创 opencv练习13Canny 边缘检测
目标OpenCV 中的 Canny 边缘检测• 了解 Canny 边缘检测的概念• 学习函数 cv2.Canny()Canny 边缘检测是一种非常流行的边缘检测算法,是 John F.Canny 在1986 年提出的。它是一个有很多步构成的算法,我们接下来会逐步介绍。.1.1 噪声去除由于边缘检测很容易受到噪声影响,所以第一步是使用 5x5 的高斯滤波器去除噪声,这个前面我们已经学过了。.1.2 计算图像梯度对平滑后的图像使用 Sobel 算子计算水平方向和竖直方向的一阶导数(图像梯度
2021-03-28 15:38:08 211
原创 opencv练习13图像梯度
• 图像梯度,图像边界等• 使用到的函数有:cv2.Sobel(),cv2.Schar(),cv2.Laplacian() 等原理梯度简单来说就是求导。OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr 和 Laplacian。我们会意义介绍他们。Sobel,Scharr 其实就是求一阶或二阶导数。Scharr 是对 Sobel(使用小的卷积核求解求解梯度角度时)的优化。Laplacian 是求二阶导数。.1 Sobel 算子和 Scharr 算子Sobel 算
2021-03-28 15:21:58 203
原创 opencv练习12形态学转换
• 学习不同的形态学操作,例如腐蚀,膨胀,开运算,闭运算等• 我们要学习的函数有:cv2.erode(),cv2.dilate(),cv2.morphologyEx()等原理形态学操作是根据图像形状进行的简单操作。一般情况下对二值化图像进行的操作。需要输入两个参数,一个是原始图像,第二个被称为结构化元素或核,它是用来决定操作的性质的。两个基本的形态学操作是腐蚀和膨胀。他们的变体构成了开运算,闭运算,梯度等。我们会以下图为例逐一介绍它们。1 腐蚀就像土壤侵蚀一样,这个操作会把前景物体的边界腐蚀掉(但
2021-03-28 09:51:17 96
原创 opencv练习11图像平滑
• 学习使用不同的低通滤波器对图像进行模糊• 使用自定义的滤波器对图像进行卷积(2D 卷积)2D 卷积与以为信号一样,我们也可以对 2D 图像实施低通滤波(LPF),高通滤波(HPF)等。LPF 帮助我们去除噪音,模糊图像。HPF 帮助我们找到图像的边缘OpenCV 提供的函数 cv.filter2D() 可以让我们对一幅图像进行卷积操作。下面我们将对一幅图像使用平均滤波器。下面是一个 5x5 的平均滤波器核:操作如下:将核放在图像的一个像素 A 上,求与核对应的图像上 25(5x5)个像素的
2021-03-28 09:18:31 100
原创 opencv练习11图像阈值
图像阈值• 本节你将学到简单阈值,自适应阈值,Otsu’s 二值化等• 将要学习的函数有 cv2.threshold,cv2.adaptiveThreshold 等。.1 简单阈值与名字一样,这种方法非常简单。但像素值高于阈值时,我们给这个像素赋予一个新值(可能是白色),否则我们给它赋予另外一种颜色(也许是黑色)。这个函数就是 cv2.threshhold()。这个函数的第一个参数就是原图像,原图像应该是灰度图。第二个参数就是用来对像素值进行分类的阈值。第三个参数就是当像素值高于(有时是小于)阈值时
2021-03-27 20:45:27 131
原创 opencv练习10几何变换
• 学习对图像进行各种几个变换,例如移动,旋转,仿射变换等。• 将要学到的函数有:cv2.getPerspectiveTransform。变换OpenCV 提供了两个变换函数,cv2.warpAffine 和 cv2.warpPerspective,使用这两个函数你可以实现所有类型的变换。cv2.warpAffine 接收的参数是2 × 3 的变换矩阵,而 cv2.warpPerspective 接收的参数是 3 × 3 的变换矩阵。.1 扩展缩放扩展缩放只是改变图像的尺寸大小。OpenCV 提
2021-03-27 20:30:16 135
原创 opencv练习9图像处理
颜色空间转换• 你将学习如何对图像进行颜色空间转换,比如从 BGR 到灰度图,或者从BGR 到 HSV 等。• 我没还要创建一个程序用来从一幅图像中获取某个特定颜色的物体。• 我们将要学习的函数有:cv2.cvtColor(),cv2.inRange() 等。.1 转换颜色空间在 OpenCV 中有超过 150 中进行颜色空间转换的方法。但是你以后就会发现我们经常用到的也就两种:BGR↔Gray 和 BGR↔HSV。我们要用到的函数是:**cv2.cvtColor(input_image,fla
2021-03-27 19:54:23 149
原创 opencv练习8程序性能检测及优化
要学到的函数有:cv2.getTickCount,cv2.getTickFrequency等除了 OpenCV,Python 也提供了一个叫 time 的的模块,你可以用它来测量程序的运行时间。另外一个叫做 profile 的模块会帮你得到一份关于你的程序的详细报告,其中包含了代码中每个函数运行需要的时间,以及每个函数被调用的次数。如果你正在使用 IPython 的话,所有这些特点都被以一种用户友好的方式整合在一起了。1、 使用 OpenCV 检测程序效率cv2.getTickCount 函数返回从参
2021-03-27 19:28:42 280
原创 opencv 练习7图像上的算术运算
目标• 学习图像上的算术运算,加法,减法,位运算等。• 我们将要学习的函数与有:cv2.add(),cv2.addWeighted() 等。1 图像加法你可以使用函数 cv2.add() 将两幅图像进行加法运算,当然也可以直接使用 numpy,res=img1+img。**两幅图像的大小,类型必须一致,**或者第二个图像可以使一个简单的标量值。注意:OpenCV 中的加法与 Numpy 的加法是有所不同的。OpenCV 的加法是一种饱和操作,而 Numpy 的加法是一种模操作。例如下面的两个例
2021-03-27 19:09:15 165
原创 opencv练习6图像的基础操作
• 获取像素值并修改• 获取图像的属性(信息)• 图像的 ROI()• 图像通道的拆分及合并几乎所有这些操作与 Numpy 的关系都比与 OpenCV 的关系更加紧密,因此熟练 Numpy 可以帮助我们写出性能更好的代码。(示例将会在 Python 终端中展示,因为他们大部分都只有一行代码)你可以根据像素的行和列的坐标获取他的像素值。对 BGR 图像而言,返回值为 B,G,R 的值。对灰度图像而言,会返回他的灰度值(亮度?intensity)import cv2import numpy as
2021-03-27 18:51:37 207
原创 opencv学习5、用滑动条做调色板
目标• 学会把滑动条绑定到 OpenCV 的窗口• 你将会学习这些函数:cv2.getTrackbarPos()cv2.creatTrackbar()8.1 代码示例现在我们来创建一个简单的程序:通过调节滑动条来设定画板颜色。我们要创建一个窗口来显示显色,还有三个滑动条来设置 B,G,R 的颜色。当我们滑动滚动条是窗口的颜色也会发生相应改变。默认情况下窗口的始颜色为黑。cv2.getTrackbarPos() 函数的一个参数是滑动条的名字,第二个参数是滑动条被放置窗口的名字,第三个参数是滑动条
2021-03-27 17:36:48 203
原创 opencv学习4把鼠标当画笔
把鼠标当画笔目标• 学习使用 OpenCV 处理鼠标事件• 你将要学习的函数是:cv2.setMouseCallback()这里我们来创建一个简单的程序,他会在图片上你双击过的位置绘制一个圆圈。首先我们来创建一个鼠标事件回调函数,但鼠标事件发生是他就会被执行。鼠标事件可以是鼠标上的任何动作,比如左键按下,左键松开,左键双击等。我们可以通过鼠标事件获得与鼠标对应的图片上的坐标。根据这些信息我们可以做任何我们想做的事。你可以通过执行下列代码查看所有被支持的鼠标事件。# -*- coding: utf-
2021-03-27 17:05:36 126
原创 opencv学习3的绘图函数
目标• 学习使用 OpenCV 绘制不同几何图形• 你将会学习到这些函数:cv2.line(),cv2.circle(),cv2.rectangle(),cv2.ellipse(),cv2.putText() 等。代码上面所有的这些绘图函数需要设置下面这些参数:• img:你想要绘制图形的那幅图像。• color:形状的颜色。以 RGB 为例,需要传入一个元组,例如:(255,0,0)代表蓝色。对于灰度图只需要传入灰度值。• thickness:线条的粗细。如果给一个闭合图形设置为 -1,那
2021-03-27 16:38:26 123
原创 opencv教程2读取保存视频
5.1 用摄像头捕获视频我们经常需要使用摄像头捕获实时图像。OpenCV 为这中应用提供了一个非常简单的接口。让我们使用摄像头来捕获一段视频,并把它转换成灰度视频显示出来。从这个简单的任务开始吧。为了获取视频,你应该创建一个 VideoCapture 对象。他的参数可以是设备的索引号,或者是一个视频文件。设备索引号就是在指定要使用的摄像头。一般的笔记本电脑都有内置摄像头。所以参数就是 0。你可以通过设置成 1 或者其他的来选择别的摄像头。之后,你就可以一帧一帧的捕获视频了。但是最后,别忘了停止捕获视
2021-03-27 16:12:05 151
原创 opencv1.2将BGR变成RGB
So when you display an image loaded in OpenCV using pylab functions, you may need to convert it into RGB mode. ( I am not sure if any easy method is there). Below method demonstrate it:import cv2import numpy as npimport matplotlib.pyplot as pltimg = c
2021-03-27 16:07:25 134
原创 opencv教程1读取保存图片
• 在这里你将学会怎样读入一幅图像,怎样显示一幅图像,以及如何保存一幅图像• 你将要学习如下函数:cv2.imread(),cv2.imshow(),cv2.imwrite()• 如果你愿意的话,我会叫你如何使用 用 Matplotlib 显示一幅图片使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径,第二个参数是要告诉函数应该如何读取这幅图片。• cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。•
2021-03-27 15:54:36 276
原创 opencv常用方法及功能
opencv常用方法及功能1、cvLoadImage:将图像文件加载至内存;2、cvNamedWindow:在屏幕上创建一个窗口;3、cvShowImage:在一个已创建好的窗口中显示图像;4、cvWaitKey:使程序暂停,等待用户触发一个按键操作;5、cvReleaseImage:释放图像文件所分配的内存;6、cvDestroyWindow:销毁显示图像文件的窗口;7、cvCreateFileCapture:通过参数设置确定要读入的AVI文件;8、cvQueryFrame:用来将下一帧视
2021-03-26 21:23:01 1459
原创 AD19练习8
先大后小功能模块布局2、器件摆放,可以先将两个器件重合,随后设置X/Y方向上的偏移量设置成-0.5即可选中想要联合的器件,右键—联合—从选中的器件联合取消联合也是同样步骤‘选中相应部分,联合,打散联合时点击ALL OFF...
2021-03-26 15:59:12 1155
原创 二极管及其基本电路
自由电子能量称为价带,共价键能量称为导带,其间的能量差称为禁带EgvPN结外加正向电压时电流由P到N,空间电荷区变窄,电流由多数载流子的扩散形成PN结外加反向电压时电流由P到N,空间电荷区变宽,电流由少数载流子的漂移形成故电流较小少数载流子受温度影响较大VD所加电压此时电压较小,采用折线模型...
2021-03-25 20:55:41 120
原创 AD19练习7
1、设置PCB原点E—O–S2、PCB快捷键改变自动摆放成矩形在机械厂层画边框,EOS命令画原点3、PCB边框大小设置,选中边框线,在距离处,按下ctrl+Q将mil转换成mm,将其变为接近的整数。4\板框重定义按shift选中所有边框线,再D—S–D重定义边框,即可5、D–K快捷键进入PCB板层设计designer–pcb layer managertop layer 丝印层top solder 阻焊层橙色部分为信号层,由上图可知该板为两层若要设置多层,选中橙色部分右键
2021-03-25 11:27:05 889
原创 榜样5观后感
榜样5观后感很荣幸在这次的支部党史学习中观看榜样5,这次学习给了我很深的印象和感悟,在新冠疫情之中党员干部充分发挥了先锋模范作用,从医生护士到警察和快递小哥都在这次的疫情中发挥了不可替代的作用,他们用汗水甚至是生命守护了党和人民、守护了国家。2020年1月底2月初,在抗击疫情的关键时期,病人激增、床位极缺。华中科技大学同济医学院附属同济医院妇科肿瘤科护士长张宏第一时间响应,主动请缨成为同济医院中法新城院区首批隔离病房的护士长,“我觉得党员就应该先上,这是我的职责所在。”接到任务后,张宏立即带领护士们进入
2021-03-23 20:56:53 1192
原创 AD19练习5PCB布局布线
项目栏右击选择split vertical 将原理图和PCB 文件进行分割 页面显示原理图和PCB对应选择应在原理图选择下,tools–cross select mode 交叉选项对应有交叉选项时项目被选中的状态可自行设置在原理图中选中,交叉显示在PCB上选择tools----comp0nent placement ----rectangle arrage在PCB上即可将选中的原件进行 矩形摆放如果不成功可能是器件被锁定可以解锁A快捷键左右对齐design —rules 进行PC.
2021-03-22 16:00:54 2375
原创 AD19练习4
选择PCB文件,打开选择designe—make pcb llibrary即可将PCB中所用的原件导成PCB库再复制粘贴到自己的文件夹中若不能则手动画PCB封装对应,选择tools—footpin manager可以统一变封装阻焊,防止绿油覆盖。手册规格一般单位是mm,通过双击焊盘可设计焊盘的大小和形状,x/y的直径可通过location设置焊盘位置可通过 ctrl+M测量两点间距离要求焊盘外边缘比最大值大,最里面比最小值小,保证原件能在焊盘上shift+c取消测量...
2021-03-21 15:09:20 371
原创 AD10练习3
错误设置project ------project option再设置将网络悬浮等设为致命错误project----compile编译原理图点击右下角的panels选择message查看结果单端网络也是致命错误例如在网络标号后不小心加点两个原件dsignator名字一样也是致命错误...
2021-03-21 09:40:44 262
原创 AD19设计2
阵列粘贴设置好一个管脚或其它器件的大小,标号及名字大小,间隔后,复制选择edit----paste arry 设置数量,间隔,方向画实心多边形选择放置这个五边形然后双击勾选填充并选择颜色粗的直线可用多边形工具画矩形填充代替直线尾端可设置箭头...
2021-03-20 10:43:51 1286
原创 AD19创建工程
1、file------new—project-----(project…)然后创建完成后生文件夹2、再创建PCB和library
2021-03-19 21:24:36 1154
原创 模拟MP3唱演唱歌曲
一、题目模拟MP3唱演唱歌曲二、目的与意义本课程为培养学生计算机应用能力的实践性课程,也是一门重要的专业技术课程。它将使学生不仅理论上掌握单片微型计算机的基本原理、单片机应用系统的构成、系统程序设计,进一步加强学生单片机应用系统软、硬件开发的能力,并能将电路、模拟电子技术、数字电子技术和微机原理等课程的知识有机地结合起来,做到学用结合。课程采用项目组运作模式,使学生熟悉理论课程的相关知识,通过具体项目下达要求、验收方式等环节,充分发挥不同程度学生的学习积极性、创新精神及合作意识,培养学生的工程设计思想
2021-03-12 10:47:40 1600
喇叭天线仿真及文档资源
2022-12-22
微波习题微波习题微波习题微波习题微波习题
2022-06-07
小信号放大器multisim
2022-05-24
频功率放大器的设计实现两级.ms14
2021-01-06
自动打玲逻辑设计仿真杜4.ms14
2021-01-06
简易交通灯控制电路设计
2021-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人