- 博客(79)
- 资源 (4)
- 收藏
- 关注
原创 图像分割《python图像处理篇》
引言:图像分割是目前图像处理领域中的一大热点问题,该领域随着处理技术的不断发展,分为两大类,一类是传统分割方法,一类是基于深度学习的分割方法。随着深度学习的火热,传统的提携分割算法也遮住了其光芒所在,今天和大家一起看一下关于传统分割的方法。开始:1.基于阈值的分割方法: 该方法的思想较为简单,就是在图像像素灰度值的基础上进行,利用像素的灰度值进行二值划分,也就是我们常说的图像二值化,不同的算法有不同的分割方法基于所求的阈值,但是都是求取该图像的最佳合理分割像素阈值作为图像分割的...
2021-12-09 21:30:59 6430
原创 c++平台上配置opencv库《帅家家图像处理篇》
引言:废话不多说!!!首先我的环境配置了好几天,但是存在一些问题,调试好了之后,记录一下吧!!!1.vs2019安装1》首先下载,然后减压,然后一路点击!!!2.opencv库建立1》首先建立一个新的项目文件新建项目2》选择第二种方式建立,然后点击右下角 下一步 按键3》选择文件存放目录,然后点击创建4》项目创建完毕后的界面5》点击上方运行按钮,测试是否可以真正的运行运行效果如下:至此说明项...
2021-11-17 22:03:15 4917
原创 小琼小谈级联分类器《python图像处理篇》
引言:级联分类器在机器学习中占据了重要地位,但是一直困惑了许久,到底啥是级联分类器?如何实现?直到学会了,才感觉打通了任督二脉,将人体的能量释放出来!!!1.级联分类器 在小琼看来就是多个二分类构成的分类器,类似于多个二叉树,其实要看级联分类器的类型,例如人脸识别用到的Haar,这个分类器说到底是一个多级二分类,大体的核心思想就是,使用一些容易判断的特征作为初级筛选,然后结果下一个特征,再次筛选,层层筛选,最后选出正确结果。(如果还是不太了解,举个例子!) 例子...
2021-11-16 15:06:30 2437
原创 背景建模方法《python图像处理篇》
引言:在图像处理中,运动检测占据了大部分内容,因为现实生活还是动态更新的,今天要说的是两种传统的背景建模方法,高斯混合模型和VIBE算法(Visual Background Extractor),这两种算法最为经典(其实小琼目前就知道这两种算法O(∩_∩)O哈哈~),下面一起来看看吧!!!1.高斯混合模型2.VIBE算法 在目前,小琼是这样理解的:VIBE算法是一种双重算法,既可以理解为是对背景模型的构架,也是对前景目标的检测。该算法是如何进行建模的呢?此...
2021-11-15 21:59:32 4779
原创 背景差分法《python图像处理篇》
引言:背景差分常用于运动目标检测,是一种动态检测的方法,即观察两帧图像间的差距(哪个物体存在相对运动),其基本原理就是将两幅图像做减法,只不过这里的两幅图像分为输入图像和背景图像,此方法对于动态常见特别敏感,例如监控环境下的下雪、刮风时的树叶飘动、光照条件的变化,以及地面引起的各种噪声,尤其是物体的影子,这些都是影响背景差分法处理效果的外在因素。1背景差分法介绍::背景差分法的核心是背景的生成,通常采用的方法为计算多幅图像的平均值作为背景图,但是此方法的缺点是计算量过大,但是此...
2021-11-14 18:57:26 2675
原创 随机采样一致算法RANSAC《python图像处理篇》
引言:随机采样一致算法属于传统算法,在一些图像特征匹配算法中常常会看到此函数的身影,到底此函数是弄啥的呢?下面一起来看看吧!!!1.介绍:随机采样一致算法RANSAC 的英文名称(RANdom SAmple Consensus),对于此算法的粗暴理解,小琼认为是模型估计算法,类似于最小二次法、,只不过最小二乘法采用所有的数据样本值来拟合模型,然而随机采用一致算法只采用一部分样本值作为数据的内点(inliers),然后使用这些内点来拟合模型。2.RANSAC算法样本划分此...
2021-11-14 11:35:30 3661
原创 深度学习常用数据集《数据集相关》
引言:目前最为流行的数据集有VOC、COCO、ImageNet等,但是三个数据集较为常用,VOC数据集总共有20类,可用于目标检测、目标分割、目标分类。1》VOC:官方连接:The PASCAL Visual Object Classes Homepage 但是不知道为什么没有VOC2017了呢?2》COCO:官方连接:http://cocodataset.org/#download常用的三个包:train2017:http://images.cocodata...
2021-11-12 20:43:40 757
原创 LSTM网络参数解读及用法《pytorch学习篇》
引言:LSTM网络在最近几年相当火爆,然而该论文早在很久以前就已经发表,类似于延时效果,只不过LSTM发挥作用的延时时间段太长了,冷落了很多年才被发掘,lstm主要是用来预测和处理时间序列相关的数据。lstm是rcnn的升级版,rcnn也同样能够是处理时间序列相关的数据,但是lstm处理效果较好,但同时lstm的缺点是不可以忽略的,有关lstm的缺陷请大牛讲解!!!1》LSTM的格式:代码:rnn = nn.LSTM(10, 20, 2)input = torch.randn(5, 3.
2021-11-06 20:24:59 378
原创 基于迁移学习的网络训练《pytorch学习篇》
引言:首先我们需要搞清楚,什么是迁移学习,迁移学习为什么怎么红,有纳尼作用?然后弄明白如何使用,即将理论转化为实践。小琼独家所有,请勿侵权!!!《不搞花里胡哨,直接开干》1》迁移学习 迁移学习就是,利用原来的先验知识,接着后续的学习,举个例子:小琼本人三年级小学生,昨天学会了使用图像的读取方式(img=cv2.imread(path)),然而今天我编程实现某个功能,需要用到读取图像这个函数,正好昨天学过,所以几天就不需要重新学习这个函数,只需要拿过来使用即可。这就是迁...
2021-11-06 16:32:09 334 1
原创 读取摄像头《python视频读取》
引言:读取本地电脑的摄像头采用cv2函数库中的强大开发函数,就可以进行简单的读取,无需其他软件。只需要python环境即可,畅享看视频的快感。1.读取摄像头1.1》效果如下:打开摄像头画面显示(假装是摄像头读出来的)解释:下面代码可以实现,经过小琼的严格把关(因为小琼帕晒出自拍成为网红,借用一下超越100年的帅希照,O(∩_∩)O哈哈~)。1.2》python实现代码代码:import cv2path2=r'0'cap = cv2.VideoCapture...
2021-11-02 08:28:41 987
原创 浅谈虚拟机克隆和快照设置与作用《系统学习篇》
引言:虚拟机相当于是一个为操作系统提供的一个平台软件(小琼认为是一个假电脑,没有装上系统的电脑)。然而Windows、Ubuntu就是操作系统。然而快照是什么呢?就是保存原始系统最好姿态的一次记录,(类似于聊天记录删除回复软件),当我们使用虚拟机里面的系统崩溃时,可以利用快照进行恢复。(不知道小琼说清楚了吗?)1》首先看一下设置克隆的操作流程1.1》进入虚拟机,如下图所示:打开虚拟机1.2》点击虚拟机---》管理------》克隆:点击克隆1.3》选择第一个,然后点...
2021-11-01 12:34:29 695
原创 撩妹、撩汉小技术---创建自己的表情包动态图GIF《python图像处理篇》
引言:在今天这个 网络化的时代,手机成为了主要的沟通工具,也是撩妹、撩汉的重要手段之一,所以为了产出一段小火花或者来个美丽的邂逅,又不好意思表达(羞答答滴),表情包成为了重要表达方式,在今天如何制作自己的表情包呢?完全由你自己决定,下面一起来学习一些撩妹、撩汉技术必备的学前教育吧!!!1》举个例子一目了然1.效果图如下所示:...
2021-10-31 15:51:06 1183
原创 傅里叶分解、叠加《matplotlib学习》
引言:上大学的时候学过傅里叶级数,此级数的核心思想就是:将一系列任意一条曲线都可以分解为正弦函数的累加。下面简单实现一下方波是如何利用正弦波实现的,一起来看看吧!!!1》首先可以理解为方波是有一堆正弦波叠加组成。先看一下百度的图像:图像来自百度,侵权请联系删除1.简单的二次叠加二次正弦波叠加2.三次正弦波叠加:三次叠加3》实现代码。代码:import numpy as npimport matplotlib.pyplot as plt...
2021-10-30 20:40:13 1362
原创 cv2.minAreaRect()函数学习《python图像处理学习篇》
引言:当小琼第一次接触此函数时,以为时计算矩形的面积函数,(天真了,草率了),后来才发现搞错了,是标准化一个矩形的表达方式,类似于标准化转化(小琼这样理解的),为什么小琼会这样说呢?因为。。。还是一起和小可爱没一起来看看吧!!!1.函数解读。 此函数作用是标准化一个矩形表达,举个例子一目了然: 首先绘制一个矩形,如下图所示:矩阵绘制 根据上图可知,矩形四个点的坐标为:[(0,0),(1,0),(1,1),(0,1)],这是我们通常使...
2021-10-30 14:28:53 3541
原创 ResNet50《pytorch学习篇》
引言:resNet50网络作为res网络家族中的一员,特别强调的是残差网络是何大神提出的,轰动世界的大江南北,主要是因为:当时的卷积神经网络主要通过不断地增加卷积层来提取图像的特征,但是这会引发一个问题-----梯度爆炸问题或者梯度消失问题,也就是说卷积层的数量设置,必须有一定的限制,否则会出现物极必反的现象,然而此时,和大神就提出了残差网络,成功地解决了此类问题,也为自己在国际深度学习的领域奠定了基础。今天主要是学习一下是如何实现的,以一个简单的resNet网络为例子学习,下面一起来看看吧!!!(物极必.
2021-10-30 13:37:07 1425
原创 cv2图像格式转化为PIL.Image《python图像处理篇》
引言:废话不说,直接干她!1.cv2------>PIL.Image 首先要说的是如果不进行格式转化的时候,图像的RGB顺序不对,图像显示的效果会受到影响,直接影响美美哒的心情。举个例子,一目了然:例子:显示图像(图像来源于网络,侵权联系删除!)正如上图所示,如果不进行RGB通道数转化,直接影响我们的用户体验感觉,瞬间没了感觉,(此时,浮想联翩。。。),因此对于图像的格式转化是一个优秀观影人员必备技能,因此转换图像是非常重要的。下面一起悄悄看看,如何实现...
2021-10-28 21:09:49 5643
原创 剪切指定图像的区域《python学习篇》
引用:在观看或者提取图像特征时,往往关注的是图像中重要的部分,最吸引眼球的地方,而在最吸引我们的地方,我们往往最想裁剪,因此,需要进行特定区域的裁剪,下面我们一起来看看吧!1.图像裁剪、剪切。1》先看效果:原图像 (图像来源于网络,侵权联系删除)裁剪后的:效果图2》代码实现。代码送上:import cv2from PIL import Imagepath=r'./2.png'image=cv2.imread(path)image=image[0...
2021-10-28 20:53:56 1508
原创 将numpy类型图像转化为tensor数据显示《pytorch学习篇》
引言:在训练网络中时常需要将图像格式进行转化,很麻烦,今天记录一下,下面一起来看看吧!!!1.将numpy----》tensor废话少说,直接开干!代码:import cv2import torchimport numpy as nppath=r'./cat.jpg'img=cv2.imread(path)print(img.shape)img1 = torch.from_numpy(img1)print(img1.shape)#待续。。。#2.结.
2021-10-26 19:03:15 921
原创 彻底搞懂VOC/YOLO标注格式《补充》
引言:在深度学习中,标注格式占据了半壁江山,没有这些标注,深度学习就是盲人摸象(只针对有监督学习哦!!!),就像是深度学习网络的先验知识,或者说是‘考试时,老师画的重点’。在很长一段时间处于迷茫状态,像个无头苍蝇到处乱飞,到处学习,没有进行系统性的学习,今天索性再学习一下题目的内容吧!!!1.YOLO与VOC标注格式间的关系。1》首先看一下YOLO标注格式(一般为一个txt文本文件,里面存放着一些数字,小琼表示:看不懂)YOLO标注格式<annotation> ...
2021-10-25 21:01:44 3554 1
原创 将圆形任意等分《python图像处理篇》
引言:在一些情况下,很多时候,我们需要将圆形等分成12分,例如以30度为例。1.技术概述。 首先我们应该找出圆的拟合方程,然后按照预定的角度等分(下面以30度为例子)2.效果图(先看一下效果,才知道目的是弄啥的!)12等分圆形加上等分序号代码实现:待续。。。#...
2021-10-24 15:51:44 4163
原创 HOG特征自己编程实现《python图像处理篇》
引言:在图像处理领域,HOG可算是技术元老了,它在深度学习还没出生之前,可所谓是爆红,相对于是当时的网红,红人,热搜。1.HOG原理HOG主要是统计图像的梯度信息,类似于直方图,只不过直方图统计的是像素值,HOG统计的是像素的梯度信息,可以这样理解,HOG是在直方图的基础上做了梯度信息,有点像站在巨人的肩膀上。(小琼的简单粗暴理解,如果理解错误,欢迎大家批评指正)2.主要内容(算法流程)1》标准化。 规范的术语叫,主要目的是将图像的像素值归一化到0-1...
2021-10-24 09:24:17 755 1
原创 三通道直方图绘制《python图像处理篇》
引言:直方图简单的理解:图像像素的统计分布,即像素值(0-255)之间的像素值,在一幅图像上的统计结果就是直方图。(话粗理不粗!!!)1.三通道直方图显示原图像:原图像1直方图效果图:图片1的直方图统计结果2.代码实现import cv2import matplotlib.pyplot as plt # import pyplot as pltimport numpy as nppath='images/book1.jpeg'img = cv2...
2021-10-22 16:11:05 1747
原创 散点图简单绘制《matplotlib学习篇》
引言:散点图一般是一些杂乱无章的数据,使用较为简单,但是此方式显示出来的图形一般看不出有什么规律或者数据之间有什么共性问题,一般是使用连线图,下面将为大家展示散点图的简单绘制,并参照连线图进行对比分析比较。一起来看看吧!!!1.首先第一步是函数库的导入,巧妇难为无米之炊!import numpy as npfrom matplotlib import pyplot as plt2.构建造假数据(数据造假)。x=np.arange(20)y=np.random.randn(20).
2021-10-22 10:34:37 269
原创 绘制温度变化曲线《matplotlib学习篇》
引言:数据可视化在现代生活占据了主导地位,原因在于表现一大堆数据或者文字,人们根本不会花费太多时间去分析它,更为直观的以图表显示形式会表达出更多的信息,更符合现代化生活的快节奏感!!!下面简单模拟一个9、10月的温度变化曲线,以每日平均温度为基准量。一起来看看吧!!!首先给大家一个直观的图文解释,更为直观,先上结果图,然后一一展开说明。9、10月份温度变化曲线图提前说明9月份那一天的温度数据看做是10月份那一天的昨天数据(好像有点绕O(∩_∩)O哈哈~...
2021-10-22 09:59:15 3876
原创 Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
引言:罗里吧嗦,多说无益!!!1.错误:error:RuntimeError:Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!reason:(小琼说一下自己的错误)出现在此错误的原因在于将网络使用GPU训练,但是只是部分训练用GPU,一部分使用CPU,所以会出现这种情况。solve:将网络修改为使用GPU训练,同时所有相关的都修为使用GPG 训练。.
2021-10-21 21:58:18 5189
原创 OSError: [WinError 1455] 页面文件太小,无法完成操作《bug记录篇》
《爱小琼的每一天》废话不多说,直接撸起袖子加油干 !!!小伙伴梦,开上车,来不及解释,开干:1》error:BrokenPipeError: [Errno 32] Broken pipe(小琼:翻译为管道堵塞,GPU、CPU卡)2》error:OSError: [WinError 1455] 页面文件太小,无法完成操作reason:出现这个的主要原因在于数据量太大的问题或者是内存占用太高导致。(小琼的电脑是8G内存,还是不够)solve:在代码中numwork 处,修改numw.
2021-10-21 21:31:50 1809
原创 创建于原图像尺度相同的黑白画面《python图像处理篇》
引言:在很多时候我们需要提取图像的关键信息,然后显示到相同的黑白图像上(无任何杂物的面板),因为在原图像显示肯定没有突出显示的方式更为直观,所以今天学一下创建于原图像尺度相同的显示板吧!!!1.创建对比画面(纯黑)先看一下效果图,更为直观。纯黑背景画板解释:创建一个与原图像尺度相同的对比画面板 (纯黑)2.实现的代码。import cv2import numpy as nppath=r'../0.jpg'img=cv2.imread(path)mask = ..
2021-10-21 17:03:26 1455
原创 《Real-time 2D Multi-Person Pose Estimation》论文读一读
引言:这一篇论文是关于人体姿态的,更准确地说:应该是人体关键点检测的(也有学者称关节点)。论文地址:https://arxiv.org/pdf/1811.12004.pdf
2021-10-21 10:54:39 333
原创 torch.from_numpy().permute()函数《pytorch学习篇》
引言:今天主要记录一下关于permute()函数的使用。1.permute()函数 首先这个函数主要使用于维度转换,作用:按照指定的方式,对原数据进行排列,一般用于图像的通道数变换。(what?什么什么?没听明白?你说的是。。。)再来:例子(我相信你喜欢)概述:我们使用permute函数改变图像的维度顺序。(可能还有其它作用,待续吧!哈哈)代码:import cv2import mathimport torchpath=r'./a.jpg'img=c...
2021-10-20 20:17:53 3347
原创 np.random.permutation()函数《numpy学习篇》
引言:numpy函数库作为数据处理的强大运算处理工具,里面包含了丰富的处理函数,但是不懂的函数甚多!!!1.np.random.permutation()总体来说他是一个随机排列函数,就是将输入的数据进行随机排列,官方文档指出,此函数只能针对一维数据随机排列,对于多维数据只能对第一维度的数据进行随机排列。如果还是不太懂的话,就举个例子吧!1》随机产生6个随机数,然后使用此函数进行随机排列,然后输出结果。代码:data=np.random.rand(6)pri...
2021-10-20 19:54:19 1966
原创 求向量(直线之间)的关系《numpy学习篇》
引言:任何现实中的生活问题都可以归结为数学问题,比如说求两条直线的夹角,可以归结为向量之间的。。。1.矢量的坐标表示。例如:import numpy as npimport matplotlib.pyplot as pltline1=np.array([0,1])line2=np.array([1,1])矢量坐标表示2.矢量之间的运算。矢量运算关系1》矢量的模。代码:mo1=np.linalg.norm(line1)mo2=np.l...
2021-10-20 09:41:56 513 1
原创 记录YOLO训练时需要使用的脚本程序《目标检测篇》
废话不多说,直接上代码!1.生成imagesets/main文件下的import osimport randomimport argparseparser = argparse.ArgumentParser()parser.add_argument('--xml_path', default='Annotations', type=str, help='input xml label path')parser.add_argument('--txt_path', defaul.
2021-10-19 21:30:06 372
原创 卷积图像融合的关键操作《pytorch学习篇》
引言:在很多的深度学习网络都需要用到特征融合,尤其是残差网络,典型的融合结构,但是如何实现呢?不着急,torch给我们提供了丰富的函数库,下面我们一起来看看吧!!!。1.torch.cat()函数此函数主要用于将两个或者多个维度相同的数组进行有机融合。例如:import torchdata1=torch.tensor([1,2,5,6])data2=torch.tensor([2,5,9,3])data=torch.cat((data1,data2),0)print(da.
2021-10-19 20:12:02 1198
原创 关于卷积逆变换《pytorch学习篇》
引言:在我们进行关于卷积的学习过程中,总是充满好奇,尤其是在学习深度学习的过程中,哇哦!太神奇了,你输入一张图像给深度学习网络,它就会输出一张标有类别的输出图像(例如图像中有一只猫,输出图像就会使用矩形框标出猫所在的位置,并且在矩形框的上方给出识别结果:猫 这个种类)。但是关于卷积的部分学习,我只是知道:对一幅图像使用一个卷积核从上到下、从左到右不停地滑动,最后的输出图像就是卷积后的图像,但是对于输入图像的尺度总是不断地在缩小(不包括padding状态,因为它给图像填充的是黑白两种值,没有特殊的函数,并..
2021-10-19 17:25:01 509
原创 np.stack()函数理解《python-numpy学习之路》
引言:numpy函数库作为强大的数据分析库,如果还没有安装的小伙怕,看这篇文章快来安装一下吧!首先介绍一下:numpy官方文档、中文文档。这里面的内容大多是大牛的分享,值得一看。1.np.stack()函数。在小编看来,这个函数的作用就是堆叠作用,就是将两个分离的数据堆叠到一个数据里(合并到一个数据里)。简单看一个小小例子就懂了,不着急!例如:import numpy as npdata1 = np.array([1,5,9])data2 = np.arr...
2021-10-17 11:24:28 1123
原创 最常用的故障诊断函数try《概念基础篇》
引言:在我们设计程序时,经常会遇到大大小小的BUG,然而此时我们并不知道程序出现的问题在哪里,这就使我们很发火! ! ! 但是如果我们可以使用这个函数可以直接跳过错误的代码,继续执行下一步。 此函数的作用通常为:当执行程序时,不间断的出现错误,如果将不确定的错误代码放入try 函数后,当在运行程序时,try中的错误代码函数出现错误时就直接跳过错误部分,继续执行下一步操作。例如:try: print(8/0)except: print(1) exit...
2021-10-17 09:50:57 802
原创 关于cv2.addWeighted()函数《python图像处理篇》
引言:在我们进行P图的时候,经常做的就是将一个表情包放在一张图上,相对于是遮住指定部分,然而在图像处理中,会有这么一种操作,就是将两幅图像按照不同的比例合成一张图像,这就是我们今天的主角函数cv2.addWeighted()。 1.函数cv2.addWeighted() 函数cv2.addWeighted()的主要功能就是将两幅图像合成为一幅图像,下面给出一个简单的例子便于理解。先看效果:原图1(图像来自网络,如有冒犯、侵权请联系删除)原图2...
2021-10-17 09:12:23 15658 1
原创 将视频分帧变成图片《python图像处理篇》
引言:写了好多文章,感觉哪里不到位,总没人给我点赞,或者没有问题评论,是我写的是小学生指导级别,太详细了吗?算了,还是写好一点、详细一点,为了广大人民群众考虑,这是一个积极分子应该争取的。今天废话有点多,不要介意!!!开始进入正题。 在进行图像处理时,我们首先应该得到的是单帧图像,而不是一段小视频(浮想联翩),那么当我们遇到视频时,自己在单帧图像的处理技术就难免有点吃力,那么我们会将一段小视频进行分帧处理,得到视频的一系列单帧图像,然后展开我们的平生所学,大展宏图,那么我们如何进行视...
2021-10-11 18:31:36 1162 1
原创 基于HSV颜色空间的目标选取《python图像处理篇》
引言:当我们在选取颜色特征作为目标筛选的第一个条件时,我们经常使用空间转换,即将将RGB图像转换到HSV空间中,具体为什么?(小编目前还没能够理解!如果你们有知道的,请告诉小编,万分感谢!!!)我现在只能说是约定俗成这个表达。HSV颜色空间如图所示。(来自百度,好像侵权了,在此声明一下)HSV颜色空间首先小琼先说一下接下来的大体流程与思路:首先是图像读取、将RGB图像转换到HSV空间,生成掩码图像(此部分就是已提取到的颜色图像,也就是在图像中你所指定颜色的那部分,注意此时得到的是二值化图..
2021-10-10 16:22:12 1172
原创 形态学处理《python图像处理基础篇》
引言:首先说一下形态学处理在图像处理过程中的作用:在进行图像二值化处理之后,会存在许多带有干扰噪声的小点,而在这种情况下,形态学处理的作用就发挥到关键作用,能够秒杀一切孤立的小点。但与此同时在二值化、边缘化操作之后、会存在某些点、线断裂情况,而此时形态学处理中的膨胀处理起到了关键作用。首先是数据库导入:import cv21.首先就是原图像加载、灰度化、二值化。代码:path2='../img/cat1.png'img=cv2.imread(path2)gray=cv2..
2021-10-09 21:07:09 837 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人