- 博客(44)
- 资源 (14)
- 收藏
- 关注
原创 Tensorflow2.0之用遗传算法优化LSTM网络结构 Version1
整体思路首先,写一个deep_learning.py文件进行神经网络的训练及测试过程。将deep_learning.py中需要优化的参数(在这里我们优化LSTM层数和全连接层数及每层的神经元个数)统一写到一个列表num中。然后,进行遗传算法的编写GA.py,用需要传入deep_learning.py文件的列表num当染色体,需要优化的参数当染色体上的基因。deep_learning.p...
2020-01-31 16:08:14 7175 58
原创 Tensorflow2.0之用遗传算法优化卷积神经网络结构 Version1
整体思路首先,写一个deep_learning.py文件进行神经网络的训练及测试过程。将deep_learning.py中需要优化的参数(在这里我们优化卷积层数及每层的神经元个数)统一写到一个列表num中。然后,进行遗传算法的编写GA.py,用需要传入deep_learning.py文件的列表num当染色体,需要优化的参数当染色体上的基因。deep_learning.py文件由于要将...
2020-01-31 15:06:50 4462 40
原创 python中如何用一条语句合并两个字典?
【注】此方法针对python3.5及以上版本的用户。x = {'小明': 88, '如花': 86}y = {'大美': 99}z = {**x, **y}print(z)得到z:{‘小明’: 88, ‘如花’: 86, ‘大美’: 99}如果在y中有重复项,如:x = {'小明': 88, '如花': 86}y = {'大美': 99, '如花': 87}z = {**x, ...
2020-01-31 12:23:10 528
原创 删掉nd array数组中的所有零元素
1、将数组转化为列表形式。2、找出列表中所有0元素的索引。3、使用 del 删掉列表中的0元素。4、将列表中的元素转化为整型。(列表中的元素为浮点型)5、将最终得到的不含0元素的列表转化成数组。a = np.array([1, 2, 3, 4, 0, 5, 6, 0, 2, 0])# 1、将数组转化为列表形式。a_list = list(a)# 2、找出列表中所有0元素的索引。...
2020-01-31 11:51:28 5835 3
原创 python中为什么要有if __name__ == '__main__'?
在python中,不时见到 if __name__ == ‘__main__’ 这条语句,那么,它究竟代表什么呢?假设有两个.py文件:a.py 和 b.py,如下:# 这是a.py文件def plus(a, b): return a + bres = plus(1, 2)print(res)# 这是b.py文件from a import plusres = plus(...
2020-01-28 15:20:03 1008
原创 python中的any()和all()函数
all()对于all(x),参数x中的所有元素不为0、“ ”或False,则返回True,否则返回False。另外,如果x为空对象,也是返回True。例如:a = all(['a', 'b', 'c', 'd'])print('列表list,元素都不为空或0:', a)b = all(['a', 'b', '', 'd'])print('列表list,存在一个为空的元素:', b)...
2020-01-28 14:04:49 1040
原创 python中的.argmax()和.idxmax()
综述在python中,有 .argmax() 和 .idxmax() 两个函数,前者用于Series中,后者用于DataFrame中。用法举例举例如下:import pandas as pdimport numpy as np data = pd.DataFrame(np.arange(16).reshape(4, 4), columns=['A', 'B', 'C', 'D'])...
2020-01-28 13:23:06 27635 2
原创 pandas.DataFrame.ix 被deprecated啦!!!!
使用pandas.DataFrame.ix时,结果会弹出如下语句:py:10: DeprecationWarning: .ix is deprecated. Please use.loc for label based indexing or.iloc for positional indexingSee the documentation here:http://pandas.py...
2020-01-28 11:36:02 3769 1
原创 tensorflow2.0用LSTM实现MNIST手写数字数据集分类
一般来说,用CNN来进行图像分类任务可以获得很高的准确率,而LSTM一般用于自然语言处理方面,但是,用LSTM也是可以实现图像分类并得到较高准确率的。代码如下:import tensorflow as tfimport tensorflow.keras as kerasfrom tensorflow.keras import models, layers, optimizersimport...
2020-01-26 23:46:26 4524 8
原创 用一台windows系统电脑操作另一台linux电脑
得到Linux的IP在云端的 Linux 的终端中输入 ifconfig, 找到我的 IP 是 192.168.0.114.云端运行假如在Windows桌面上有一test.py文件,需要在Linux中运行。首先,打开Git Bash然后,在Windows中输入$ ssh user@192.168.0.114 python3 < ~/Desktop/test.py其中user是...
2020-01-26 09:35:42 2765
原创 Linux基本指令
目录cd (change directory)改变路径返回上一级目录返回刚刚的目录去主目录ls (list)输出此路径下所有文件的详细信息(可以用来查看权限)显示所有文件(包括隐藏文件)touch新建单个文件新建多个文件cp (copy)复制老文件到新文件避免复制同名文件直接覆盖复制文件到文件夹复制文件夹复制多个文件文件名前面相同文件名后面相同复制指定的多个文件mv (move)剪切文件到另一个文...
2020-01-22 14:36:30 514
原创 Opencv之疲劳检测
项目要求在一段视频中,通过检测人眨眼的次数来判断他的疲劳程度。代码实现1、导入工具包from scipy.spatial import distance as distimport numpy as npimport dlibimport cv22、对脸上的部位进行定义在关键点定位的官方文档中,提取68个关键点来表示脸上的部位。其中:第1个点到第17个点:脸颊;第18个点...
2020-01-22 12:26:31 7353 54
原创 Opencv之人脸关键点定位
项目要求在包含(一个或多个)人脸的图片中对脸上的某些部位(嘴巴、眉毛等部位)进行标记。代码实现1、导入工具包import numpy as npimport dlibimport cv22、对脸上的部位进行定义在关键点定位的官方文档中,提取68个关键点来表示脸上的部位。其中:第1个点到第17个点:脸颊;第18个点到第22个点:右边眉毛;第23个点到第27个点:左边眉毛;...
2020-01-22 11:47:33 7947 1
原创 Opencv之多目标追踪(基于Dlib库)
Dlib介绍Dlib是一个包含机器学习算法的C++开源工具包。Dlib可以帮助您创建很多复杂的机器学习方面的软件来帮助解决实际问题。目前Dlib已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。安装Dlib库1、下载whl文件使用于python3.7。Dilb版本为Dlib-19.17。点此获取Dlib-19.17的whl文件提取码: rfh82...
2020-01-21 16:00:18 3349 5
原创 Opencv之多目标追踪
项目要求用opencv中已经实现了的追踪算法对视频中的任意用户指定目标进行追踪。代码实现1、导入视频vs = cv2.VideoCapture('./videos/los_angeles.mp4')2、实例化OpenCV中的多目标追踪器trackers = cv2.MultiTracker_create()3、将opencv已经实现了的追踪算法写入字典方便调用OPENCV_OB...
2020-01-21 10:17:14 4146 4
原创 %matplotlib inline
在jupyter notebook中,由于 %matplotlib inline 的存在,当输入plt.plot()后,不必再输入 plt.show(),图像将自动显示出来
2020-01-20 17:28:17 441
原创 Opencv之调用DNN模块
opencv中有dnn模块可以用来直接调用深度学习的配置文件。下面,举一个物体识别的例子。举例1、导入工具包import utils_pathsimport numpy as npimport cv22、标签文件处理rows = open("synset_words.txt").read().strip().split("\n")classes = [r[r.find(" ")...
2020-01-20 15:42:30 2673
原创 Opencv之光流估计
光流估计定义光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”,根据各个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪。特点亮度恒定:同一点随着时间的变化,其亮度不会发生改变。小运动:随着时间的变化不会引起位置的剧烈变化,只有小运动情况下才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数。空间一致:一个场景上邻近的点投影到图像上也是邻近点...
2020-01-20 14:46:45 1514
原创 Opencv之背景建模
定义所谓背景建模,就是将背景识别出来,与前景进行区分的过程。方法背景建模的方法有帧差法和混合高斯模型法,后者的应用更加普遍,而其效果更好,所以在这个案例中,我们使用后者来进行背景建模。混合高斯模型在进行前景检测前,先对背景进行训练,对图像中每个背景采用一个混合高斯模型进行模拟,每个背景的混合高斯的个数可以自适应。然后在测试阶段,对新来的像素进行GMM匹配,如果该像素值能够匹配其中一个高斯...
2020-01-20 12:51:47 3659 4
原创 Python中星号变量的特殊用法
收集列表中多余的值这样无需确保值与变量的个数相同。举例来说:a,b,*c=[1,2,3,4]输出结果:a = 1;b = 2,c = [3,4]。涉及到函数时,*号的作用在于收集参数或者分配参数。定义函数时def myprint(*params): print(params)这时候如果以如下方式调用myprintmyprint(1,2,3)输出:(1,2,3)...
2020-01-20 11:43:23 644
原创 Python内置函数 -- zip(), sorted(), filter()和map()
本文引用自Python内置函数 – zip(), sorted(), filter()和map()1、zip() 打包(木桶效应)描述: zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的列表语法: zip([iterable, …])参数: iterable – 一个或多个迭代器返回值: 返回可迭代对象# 实例:lst1 ...
2020-01-20 10:44:47 617
原创 Opencv之答题卡识别判卷
项目要求提供一张答题卡图像,通过图像处理识别出答题卡上每个题的选项,与正确答案对比,得出分数并写在答题卡上。代码实现过程1、引入需要的库import numpy as npimport cv2 as cv2、定义绘图函数def cv_show(name,img): cv.imshow(name, img) cv.waitKey(0) cv.destroyAl...
2020-01-20 10:15:19 8502 8
原创 查看tensorflow产生的checkpoint文件内容的方法
tensorflow在保存权重模型时多使用tf.train.Saver().save 函数进行权重保存,保存的ckpt文件无法直接打开,但tensorflow提供了相关函数 tf.train.NewCheckpointReader 可以对ckpt文件进行权重查看。import osfrom tensorflow.python import pywrap_tensorflowcheckpoi...
2020-01-19 19:14:00 3798 2
原创 lambda函数的用法
lambda函数的实质def sq(x): return x*xa = list(map(sq,[y for y in range(10)]))aa = list(map(lambda x: x*x,[y for y in range(10)]))a以上两串代码的返回值都是:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]lambda函数的其...
2020-01-19 18:32:09 1812
原创 operator.itemgetter()函数的用法
单独使用operator.itemgetter()函数使用这个函数,需要先调用operator包。此函数用于获取对象的哪些维的数据,参数为一些序号。例1:a = np.random.randint(0, 100, (5, 1, 5))b = operator.itemgetter(1) # 定义函数b,获取对象的第1个域的值print(a)print(b(a))结果为:[[...
2020-01-19 18:07:13 3155
原创 Opencv之停车场车位识别(不用类不用函数,一步步实现)
项目要求给出一段停车场的视频,要求实时检测空停车位的数量及位置。思路从这段视频中取出一帧图片。对图片进行处理,只保留图片中的有效信息(停车位)。将所有停车位取出来,分别保存为单独的.jpg文件作为样本(包含空停车位和非空停车位)。训练二分类模型识别此停车位上是否有车。将空停车位在图上标记出来。在视频中实时监测并标记空停车位。实现过程1、引入需要的库import cv2 a...
2020-01-19 17:49:02 15323 188
原创 Opencv之边界填充
函数介绍cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)BORDER_REPLICATE:复制法,也就是复制最边缘像素。BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制例如:fedcba|abcdefgh|hg...
2020-01-18 17:34:00 3471
原创 Opencv之全景拼接
要求将给定的如下两张图片合并,产生全景拼接的效果。代码实现过程1、导入需要的库import numpy as npimport cv22、创建一个类StitcherStitcher类中包含五个方法,它们分别是stitch(self, images, ratio=0.75, reprojThresh=4.0,showMatches=False)cv_show(self,nam...
2020-01-18 14:32:07 2429 3
原创 Opencv之特征匹配
Brute-Force 蛮力匹配1、导入需要的库import cv2 import numpy as npimport matplotlib.pyplot as plt%matplotlib inline2、定义绘图函数def cv_show(name,img): cv2.imshow(name, img) cv2.waitKey(0) cv2.destro...
2020-01-18 12:11:27 2287
原创 Opencv之图像降噪(平滑)
图像降噪(平滑)介绍图像降噪的英文名称是Image Denoising, 是图像处理中的专业术语。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。减少数字图像中噪声的过程称为图像降噪,有时候又称为图像去噪。代码实现首先,导入带噪音的图片。img = cv2.imread('lenaNoise.png')img = cv2.cvtCol...
2020-01-18 09:42:29 9454
原创 Opencv之图像金字塔--图像融合
图像金字塔通常,我们过去使用的是恒定大小的图像。但是在某些情况下,我们需要使用不同分辨率的(相同)图像。例如,当在图像中搜索某些东西(例如人脸)时,我们不确定对象将以多大的尺寸显示在图像中。在这种情况下,我们将需要创建一组具有不同分辨率的相同图像,并在所有图像中搜索对象。这些具有不同分辨率的图像集称为“图像金字塔”(因为当它们堆叠在底部时,最高分辨率的图像位于顶部,最低分辨率的图像位于顶部时,看...
2020-01-17 19:52:46 2327
原创 Opencv之SIFT特征
SIFT介绍SIFT(Scale Invariant Feature Transform)特征是非常稳定的图像特征,在图像搜索、特征匹配、图像分类检测等方面应用十分广泛,但是它的缺点也是非常明显,就是计算量比较大,很难实时,所以对一些实时要求比较高的常见SIFT算法还是无法适用。如今SIFT算法在深度学习特征提取与分类检测网络大行其道的背景下,已经越来越有鸡肋的感觉,但是它本身的算法知识还是很值...
2020-01-17 18:11:07 3054
原创 Opencv之Harris角点检测
Harris角点检测的目的是去分辨出图像中的平面、边界以及角点。基本原理下面三张图分别代表平面、边缘以及角点。人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如果这个特定的窗口在图像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内的图像就可能是一个平面;如果窗口在某一个方...
2020-01-17 13:24:58 735
原创 Opencv之OCR识别(扫描后处理)
OCR是指对文本资料进行扫描后对图像文件进行分析处理,获取文字及版面信息的过程。用Opencv进行OCR识别时,通常分为两步:扫描、识别。举例说明:提取下图上的文字信息。扫描再扫描过程中,我们也需要进行三步操作:边缘检测、获取轮廓以及透视变换。Step1: 边缘检测1、导入需要的模块。# 导入工具包import numpy as npimport cv22、读取需要扫描的图片...
2020-01-17 10:38:42 15601 10
原创 Opencv之信用卡数字识别
要求输入一张信用卡的图片,将上面的数字识别出来并写在卡上。即:实现过程1、首先导入相关的模块。# 导入工具包from imutils import contoursimport numpy as npimport argparseimport cv2import myutils # 自己写的py文件,文章结尾会讲2、定义绘图函数。# 绘图展示def cv_show(...
2020-01-16 19:01:46 1567 1
原创 Opencv之图像阈值
图像阈值ret, dst = cv2.threshold(src, thresh, maxval, type)src: 输入图,只能输入单通道图像,通常来说为灰度图dst: 输出图thresh: 阈值maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BINARY; ...
2020-01-16 18:28:21 482
原创 Opencv之模板匹配
模板匹配原理模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与(图像被模板覆盖的地方)的差别程度,这个差别程度的计算方法在opencv里有6种,然后将每次计算的结果放入一个矩阵里,作为结果输出。假如原图形是AxB大小,而模板是axb大小,则输出结果的矩阵是(A-a+1)x(B-b+1)。方法cv2.matchTemplate(img, template, methods)参...
2020-01-16 18:05:21 1010
原创 Opencv之提取图像轮廓
提取图像轮廓cv2.findContours(img,mode,method)mode:轮廓检索模式RETR_EXTERNAL :只检索最外面的轮廓;RETR_LIST:检索所有的轮廓,并将其保存到一条链表当中;RETR_CCOMP:检索所有的轮廓,并将他们组织为两层:顶层是各部分的外部边界,第二层是空洞的边界;RETR_TREE(最常用):检索所有的轮廓,并重构嵌套轮廓的整个层次;...
2020-01-16 17:14:15 16100 5
原创 Opencv之图像梯度(边缘)
一、图像梯度梯度简单来说就是求导。OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器: Sobel,Scharr 和 Laplacian。其中Sobel,Scharr 是求一阶导数。Scharr 是对 Sobel(使用小的卷积核求解求解梯度角度时)的优化,而 Laplacian 是求二阶导数。1、Sobel算子原理:前一个Sobel矩阵与原始图像A进行卷积操作后得到的是右边的像素值...
2020-01-16 16:42:03 3217
原创 Opencv之形态学操作
最基础的形态学操作即腐蚀操作和膨胀操作,在此基础之上,又出现了开运算、闭运算、梯度运算、礼帽与黑帽操作。所有的形态学操作只针对二值图片。腐蚀操作首先,读入一张二值图片。pie = cv2.imread('pie.png')cv2.imshow('pie', pie)cv2.waitKey(0)cv2.destroyAllWindows()腐蚀操作的原理就是求局部最小值的操作,核...
2020-01-16 16:01:40 614
Python-OpenCV疲劳检测源代码(含视频)
2021-01-06
Tensorflow2.0之神经风格迁移
2020-12-27
Opencv之停车场车位识别源代码
2020-12-27
分类好的12K采样频率下的驱动端轴承故障数据集
2020-12-27
Faster-RCNN 实例代码
2020-10-18
synthetic_dataset.zip
2020-05-17
aclImdb_v1.7z
2020-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人