- 博客(48)
- 资源 (1)
- 收藏
- 关注
原创 数据结构--第二章-算法
一.什么是算法算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法具有五个基本特征:输入、输出、有穷性、确定性和可行性。输入:算法具有零个或者多个输入。尽管对于绝大多数算法来说,输入参数都是有必要的。但是有些时候,想打印“ I love fish.",就不需要啥参数了。输出:算法至少有一个或者多个输出。算法是一定要输出的,输出的形式可以实打印形式输出,也可以是返回一个值或多个值等。有穷性:指算法在执行有限的步骤之后,自
2020-10-21 15:22:24
687
1
原创 数据结构--第一章-数据结构和算法绪论
一. 什么是数据结构数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。即:程序结构 = 数据结构+算法数据结构就是数据元素相互之间存在的一种或多种特定关系的集合。二. 逻辑结构和物理结构传统上,数据结构分为逻辑结构和物理结构。逻辑结构:是指数据对象中数据元素之间的相互关系,也是今后最需要关注和讨论的问题。物理结构:是指数据的逻辑结构在计算机中的存储方式。A.下面介绍四大逻辑结构:1.集合结构集合结构:集合结构中的数据元素
2020-10-21 14:52:29
289
原创 Ubuntu16.04添加开机自启动.py脚本(亲测有效)
注意事项:如果脚本没有执行,首先应该考虑执行权限问题,查看脚本和相应的文件是否有执行权限,如果没有需要赋予执行权限。方法1:1.编写一个shell脚本文件,例如python_auto.sh,文件内容:python /home/test/start.py2.编写start.py文件,里面执行你需要服务器开启执行的操作3.在 /etc/profile 这个文件中,添加shell脚本文件路径,例如:/home/test/start.sh start在服务器开机时会自动执行 /..
2020-08-04 14:07:36
1015
原创 yolov5训练日志
yolov5训练一、准备工作1.配置环境https://github.com/ultralytics/yolov5首先进入u大佬的GitHub主页,把项目下载下来。然后进入目录打开终端,pip install -U -r requirements.txt即可安装好yolov5所需环境,如果运行detect.py出现问题,依据报错自行修改。(百度有很多装torch的教程和视频,多查查就能装好)2.数据集准备这里和yolov3的数据集准备一样,推荐参考这个链接,简单,一次成功。https://
2020-07-10 13:35:12
4383
1
原创 jupyter notebook不能启动服务 不能连接服务器
windows下,jupyter notebook不能启动服务 不能连接服务器遇到这个问题,重新安装也不行!!!网上很多说是tornado版本的问题,降低了版本号还是不行最后,通过网络搜索,找到一个解决方案在命令提示符下输入pip install --upgrade prompt-toolkit==2.0.4然后输入 jupyter notebook 启动成功了!希望有用!!!!!!http://blog.sina.com.cn/s/blog_13fc4976c0102xql
2020-06-11 10:56:09
3101
2
原创 Ubuntu18.04安装ROS
主要参考链接为官网:http://wiki.ros.org/melodic/Installation/Ubuntu不同版本的Ubuntu系统对应着不同版本的ROS,进入网站http://wiki.ros.org/melodic/Installation,见下图。、Melodic主要对应:Ubuntu Artful (17.10), Bionic (18.04 LTS) 以及Debian Stretch。开始进行安装,打开系统的终端。1.配置Ubuntu软件库配置Ubuntu存储库.
2020-05-29 08:43:58
414
原创 Ubuntu18.04安装cmake(附免费下载cmake)。
1.下载linux版本的cmake,cmake-3.15.3-Linux-x86_64.tar.gz2.解压tar zxvf cmake-3.15.3-Linux-x86_64.tar.gz3. 创建软链接注: 文件路径是可以指定的, 一般选择在/opt 或 /usr 路径下, 这里选择/optsudo mv cmake-3.15.3-Linux-x86_64 /opt/c...
2019-12-28 11:13:53
1239
原创 Jupyter Notebook使用matplotlib绘图显示中文
在Jupyter Notebook使用matplotlib绘图显示中文会出现乱码,需要添加两行代码:import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = [u'SimHei']plt.rcParams['axes.unicode_minus'] = False即可。...
2019-09-30 19:37:34
1583
4
原创 运行keras-yolo时报错:InternalError (see above for traceback): Blas SGEMM launch failed解决方法
本人使用的是Ubuntu18.04,CUDA9.0,tensorflow-gpu1.6.0。去CUDA官网(https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&...
2019-09-30 18:48:06
1117
原创 Ubuntu18.04两个Cuda(cuda10.0+cuda9.0)、两个Cudnn(cudnn7.3.1+cudnn7.0.5),并进行自由切换
之前安装了CUDA10.0,Cudnn7.3.1,因为要跑keras-yolo3,没办法运行,需要使用CUDA9.0+cudnn7.0.5(要求是7.0.4,但是官网没办法进行下载,因此尝试了7.0.5,结果可以正常使用),因此安装了两个版本的CUDA和cudnn,并进行来回切换,排坑排了一下午,特此写出来,希望对大家有用。1.下载CUDA9.0,链接(https://developer.nv...
2019-08-16 13:27:26
1413
2
原创 Ubuntu使用小结(持续更新)
一、卸载安装的软件1.dpkg --list显示安装的软件列表2.sudo apt-get --purge remove 软件名(--purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get remove 软件名)3.输入密码...
2019-08-01 10:12:24
249
原创 基于GAN的无监督异常检测
参考https://github.com/tkwoo/anogan-keras程序运行环境为:1.环境搭建(1)anaconda中新建环境conda create -n gan python=3.6激活环境conda activate gan(2)安装需要的软件库:pip install opencv-python==3.4.0.14pip instal...
2019-07-04 17:27:21
4776
2
原创 YOLOV3 报错
配置好YOLOV3后,测试 ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg,报错CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.解决方法:打开yolov3.cfg,修改如下:# ...
2019-06-29 08:58:16
601
原创 Ubuntu18.04显卡驱动崩溃,进行重装,亲测有效。
莫名其妙电脑重新开机后,屏幕的分辨率明显变差。应该是显卡驱动出了问题,验证一下:sudo nvidia-smi出现链接不成功,说明驱动出了问题。去英伟达官网下载相应的驱动,我的是NVIDIA-Linux-x86_64-430.09.run。1.将Ubuntu从桌面模式切换到控制台模式:Ctrl+Alt+F1,进去后输入用户名和密码即可。2.删除之前的显卡驱动残留sudo ...
2019-06-26 09:20:50
10377
2
原创 windows环境下使用opencv训练级联分类器traincascade
基于opencv3.4.1(https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.1.0/opencv-3.1.0.exe/download)+contrib(https://github.com/opencv/opencv_contrib/releases),下载相应版本。cmake下载msi版本。(https://c...
2019-05-23 13:00:47
785
原创 解决“object_detection/protos/*.proto: No such file or directory”问题
在cmd中的正确目录下执行protoc object_detection\protos\*.proto --python_out=.会出现object_detection/protos/*.proto: No such file or directory解决方法:for /f %i in ('dir /b object_detection\protos\*.proto...
2019-05-14 13:52:25
828
原创 opencv031-图像矩
矩的概念介绍l图像中心Center(x0, y0)API介绍与使用 – cv::moments 计算生成数据API介绍与使用-计算矩cv::momentsmoments(InputArray array,//输入数据bool binaryImage=false // 是否为二值图像)contourArea(InputArray contour...
2018-12-17 16:17:34
166
原创 opencv030-轮廓周围绘制矩形框和圆形框
轮廓周围绘制矩形 -APIlapproxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed)基于RDP算法实现,目的是减少多边形轮廓点数lcv::boundingRect(InputArray points)得到轮廓周围最小矩形左上交点坐标和右下角点坐标,绘制一个矩...
2018-12-17 13:47:33
341
原创 opencv028-轮廓发现
轮廓发现(find contour)l轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法。所以边缘提取的阈值选定会影响最终轮廓发现结果lAPI介绍-findContours发现轮廓-drawContours绘制轮廓轮廓发现(find contour)在二值图像上发现轮廓使用API cv::findContours(InputOutputArray binImg...
2018-12-15 13:23:00
309
原创 opencv029-凸包
概念介绍l什么是凸包(Convex Hull),在一个多变形边缘或者内部任意两个点的连线都包含在多边形边界或者内部。正式定义:包含点集合S中所有点的最小凸多边形称为凸包l检测算法- Graham扫描法概念介绍-Graham扫描算法l首先选择Y方向最低的点作为起始点p0l从p0开始极坐标扫描,依次添加p1….pn(排序顺序是根据极坐标的角度大小,逆时针方向)...
2018-12-15 13:03:40
309
原创 opencv025-直方图比较
直方图比较方法-概述对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间。然后可以通过计算H1与H2的之间的距离得到两个直方图的相似程度进而比较图像本身的相似程度。Opencv提供的比较方法有四种:-Correlation 相关性比较-Chi-Square 卡方比较-Intersection 十字交叉性-Bhattacharyya distance 巴氏距离直方...
2018-12-13 09:52:12
131
原创 opencv024-直方图计算
直方图计算直方图概念假设有图像数据8x8,像素值范围0~14共15个灰度等级,、统计得到各个等级出现次数及直方图如右侧所示,每个紫色的长条叫BINl上述直方图概念是基于图像像素值,其实对图像梯度、每个像素的角度、等一切图像的属性值,我们都可以建立直方图。这个才是直方图的概念真正意义,不过是基于图像像素灰度直方图是最常见的。l直方图最常见的几个属性: - dims 表...
2018-12-11 16:28:04
519
原创 opencv023-直方图均衡化
什么是直方图(Histogram)假设有图像数据8x8,像素值范围0~14共15个灰度等级,统计得到各个等级出现次数及直方图如右侧所示。l图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。是图像的统计学特征。图像直方图直方图均衡化是一种提高图像对比度的方法,拉伸图像灰...
2018-12-11 14:01:25
143
原创 opencv022-像素重映射
什么是像素重映射l简单点说就是把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去,形成一张新的图像。g(x,y)是重映射之后的图像,h(x,y)是功能函数,f是源图像什么是像素重映射假设有映射函数API介绍cv::remapRemap(InputArray src,// 输入图像OutputArray dst,// 输出图像InputAr...
2018-12-11 10:35:54
298
原创 opencv021-霍夫圆变换
霍夫圆检测原理相关API cv::HoughCirclesl因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波。l基于效率考虑,Opencv中实现的霍夫变换圆检测是基于图像梯度的实现,分为两步: 1. 检测边缘,发现可能的圆心 2. 基于第一步的基础上从候选圆心开始计算最佳半径大小HoughCircles参数说明HoughCircles(Input...
2018-12-10 19:28:19
215
原创 opencv019-Canny边缘检测
Canny算法介绍lCanny是边缘检测算法,在1986年提出的。l是一个很好的边缘检测器l很常用也很实用的图像处理方法Canny算法介绍 – 五步 in cv::Canny1.高斯模糊 - GaussianBlur2.灰度转换 - cvtColor3.计算梯度 – Sobel/Scharr4.非最大信号抑制5.高低阈值输出二值图像 Canny算法介绍 - ...
2018-12-06 20:29:35
166
原创 opencv018-Laplance算子
理论解释:在二阶导数的时候,最大变化处的值为零即边缘是零值。通过二阶导数计算,依据此理论我们可以计算图像二阶导数,提取边缘。l二阶导数我不会,别担心 ->拉普拉斯算子(Laplance operator)lOpencv已经提供了相关API - cv::Laplance处理流程:l高斯模糊 – 去噪声GaussianBlur()l转换为灰度图像cvt...
2018-12-06 18:54:51
258
原创 opencv017-Sobel算子
l卷积应用-图像边缘提取l相关APIl代码演示卷积应用-图像边缘提取\卷积应用-图像边缘提取l边缘是什么 – 是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用。l如何捕捉/提取边缘 – 对图像求它的一阶导 delta = f(x) – f(x-1), delta越大,说明像素在X方向变化越大,边缘信号越强,...
2018-12-06 18:35:34
224
原创 opencv016-处理边缘
卷积边缘问题l图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理。处理边缘在卷积开始之前增加边缘像素,填充的像素值为0或者RGB黑色,比如3x3在四周各填充1个像素的边缘,这样就确保图像的边缘被处理,在卷积处理之后再去掉这些边缘。openCV中默认的处...
2018-12-06 14:58:56
219
原创 opencv-015 自定义线性滤波
自定义线性滤波l卷积概念l常见算子l自定义卷积模糊l代码演示卷积概念l卷积是图像处理中一个操作,是kernel在图像的每个像素上的操作。lKernel本质上一个固定大小的矩阵数组,其中心点称为锚点(anchor point)卷积如何工作l把kernel放到像素数组之上,求锚点周围覆盖的像素乘积之和(包括锚点),用来替换锚点覆盖下像素点值称为卷积处理。数学表达...
2018-12-06 12:08:33
210
原创 opencv014-图像阈值
基本阈值操作l阈值 是什么?简单点说是把图像分割的标尺,这个标尺是根据什么产生的,阈值产生算法?阈值类型。(Binary segmentation)阈值类型一阈值二值化(threshold binary)l左下方的图表示图像像素点Src(x,y)值分布情况,蓝色水平线表示阈值阈值类型一阈值反二值化(threshold binary Inverted)l左下方的图表示图像像素...
2018-12-04 21:42:41
140
原创 006 numpy矩阵使用+matplotlib(绘图)
#numpy使用类比数据库,增删改查(CURD)import numpy as npdata1=np.array([1,2,3,4,5])print(data1)data2=np.array([[1,2], [3,4]])print(data2)#维度输出print(data1.shape,data2.shape)#空矩阵 单位矩阵print(n...
2018-11-13 15:18:55
693
原创 005 矩阵初始化、运算、特殊矩阵初始化
#矩阵定义 M行*N列import tensorflow as tfdata1=tf.constant([[6,6]])data2=tf.constant([[2], [2]])data3=tf.constant([[3,3]])data4=tf.constant([[1,2], [3,4], ...
2018-11-13 14:51:56
379
原创 004 tensorflow常量变量定义及运算原理+常量变量四则运算
#opencv tensorflow#类比 语法 api 原理#基础数据类型 运算符 流程 字典 数组import tensorflow as tfdata1=tf.constant(2.5)data2=tf.Variable(10,name='var')sess=tf.Session()print(data1)print(data2)'''print(sess.run(da...
2018-11-06 16:34:55
208
原创 003. 图片读取+图片保存+像素操作
1.图片读取与展示# 1.引入opencv 2.调用API 3.暂停stop import cv2img = cv2.imread('2.png',1)#图片读取,1.图片名称2.读取图片的类型 (0,gray 1.color)cv2.imshow('image',img)#窗体名称 ,图片名称cv2.waitKey(0)2.图片写入import cv2img=...
2018-11-06 15:28:38
232
原创 002 OpenCV+TensorFlow 测试案例hello world
tensorflow的验证程序#import 2strint 3printimport tensorflow as tfhello=tf.constant('hello tf!')sess=tf.Session()#所有的操作都必须经过session绘画来进行print(sess.run(hello))#note:1.常量创建 2.session上下文的创建 3pr...
2018-10-30 21:52:30
309
原创 001 OpenCV+TensorFlow+python环境搭建
1.anaconda下载https://www.anaconda.com/download/ 并安装2.创建tensorflow开发环境,打开anaconda prompt输入conda create -n tensorflow python=3.63.打开anaconda navigator,添加tensorflow、opencv、notebook源代码。然后点击App...
2018-10-30 21:45:56
406
2
原创 opencv013-图像上采样和下采样(+高斯不同)
图像金字塔概念:1. 我们在图像处理中常常会调整图像大小,最常见的就是放大(zoom in)和缩小(zoom out),尽管几何变换也可以实现图像放大和缩小,但是这里我们介绍图像金字塔2. 一个图像金字塔式一系列的图像组成,最底下一张是图像尺寸最大,最上方的图像尺寸最小,从空间上从上向下看就想一个古代的金字塔。l高斯金子塔 – 用来对图像进行降采样l拉普拉斯金字塔 – 用来重建...
2018-10-18 19:27:10
1323
原创 opencv012-形态学操作应用(提取水平与垂直线)
原理方法:图像形态学操作时候,可以通过自定义的结构元素实现结构元素对输入图像一些对象敏感、另外一些对象不敏感,这样就会让敏感的对象改变而不敏感的对象保留输出。通过使用两个最基本的形态学操作 – 膨胀与腐蚀,使用不同的结构元素实现对输入图像的操作、得到想要的结果。 - 膨胀,输出的像素值是结构元素覆盖下输入图像的最大像素值 - 腐蚀,输出的像素值是结构元素覆盖下输入图像的最小像素...
2018-10-16 13:58:59
309
cmake-3.15.3-Linux-x86_64(2).tar.gz
2019-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人