自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 解决No module named 'Kears'的问题

最近搭网络需要用到keras框架,所以就装了一下。 我的电脑环境配置是cuda8.0 + tensorflow-gpu1.2.0+Python3.6。我是安装成功,gpu版本是可以使用的。 pip list 查看了下,发现可能安装tensorflow的时候就自动给我装keras2.3.0,...

2019-11-05 10:56:19 215 0

原创 darknet训练coco数据集2014

本文以coco数据集2014为例,因为官网下载的数据集不能直接使用,需要做个解析。 首先,下载好coco2014的数据集,文件很大,大概24个G吧。主要信息是train2014,test2014,val2014以及各自的annotation文件。 这三个文件存放的是图片,jpg格式。 t...

2019-10-16 21:27:09 322 0

原创 Win10+darknet+vs2015 GPU和CPU版本的配置

在配置前需要准备的安装包: (1)VS2015 (2)Opencv3.4.6 (3)CUDA10.1和CUDNN7.6.1 (4)Darknet 这个可以下载大佬已经编译好的版本,省去自己操作一番的功夫。https://github.com/AlexeyAB/darknet (5)yol...

2019-09-24 11:08:07 978 1

原创 答题卡识别C++版本(一)

之前用Python+Opencv 写过答题卡识别的算法。 这篇博客用的C++和Opencv来完成答题卡的识别,相关算法的思想是不变的。 (一)定位答题卡的四个边角锚点 因为标准答题卡的四角都有黑色的圈圈,将这些圈圈的位置定位出来,就相当于定位出四个边角锚点。 定位黑色圆圈,有两种方式:...

2019-08-16 17:25:19 559 0

原创 opencv/C++ 获取填空题的下划线

问题描述: 对于下面的一张图片,获取其中的直线部分。 能想到的有两种方式: (1)先用canny检测边缘得到边缘图片,再用霍夫直线检测边缘图片中的直线 (2)先将图像通过形态学操作腐蚀掉字母,然后在通过霍夫检测将直线展示出来 第一种方式的代码如下,然后用的trackbar拉动看来肯...

2019-07-30 11:46:19 61 0

原创 Opencv/C++ 去除扫描图片的白色边框

问题描述:扫描得到的图像文件,存在白色的边框,需要切除。如下图所示。 解决思路:有两种方式。 (1)先通过边缘检测,再进行轮廓发现或者直线检测最大外接矩形,这个方法可以自动调整角度问题。 (2)先通过二值分割,再进行形态学操作,最后利用Hough直线检测找到最大外接矩形,这种方式不能自动...

2019-07-30 11:22:58 403 0

原创 tensorflow--张量的相关变换

张量的相关变换,这里介绍三种常用的变换: -----数据类型的变换 tf.cast() :支持各种张量数据类型的转换 -----维度的变换 tf.reshape():支持张量进行各种不同维度的变换 -----数据顺序的变换 tf.reverse():支持数...

2019-05-18 14:42:48 119 0

原创 图像的阈值操作

图像处理过程中经常会遇到这种情况:在已经完成很多处理步骤后,需要做出一个最终的决定,或者将高于或者低于某一个像素值的像素置为零,而其他像素保持不变,其中这个像素值就是我们需要的阈值。 在opencv 中阈值操作可以分为全局阈值和局部阈值 先说全局阈值,用的API是threshold(),它的原...

2019-05-15 20:12:56 50 0

原创 tensorflow--张量

张量(tensor)是TensorFlow最核心的组件,所有运算和优化都是基于张量进行的。它的本质其实就是多维数组。 零维的张量======标量(Scalar) 一维的张量======向量(Vector) 二维的向量======矩阵或者数据平面 三维的向量======数据立方体 张量...

2019-05-15 19:15:47 27 0

原创 图像边缘处理

问题:在利用卷积模板进行卷积的时候,都会忽略边缘的像素的卷积操作。比如:使用3*3的模板进行卷积时,明显的最外面一圈的像素值没有办法位于Kernel的中心点,所以无法进行卷积操作。 解决方法:给边缘填充像素值,已满足这些点能够参与卷积运算。 API:(1)copyMakeBrder(src,d...

2019-03-15 18:29:30 120 0

原创 Windows7下在安装docker以及配置相关镜像

最近学习深度学习,奈何电脑老是配不成tensorflow的环境,所以改用docker来学习一些小demo。 电脑使用的是win7系统,而且支持硬件虚拟化,有些电脑这个功能是关闭的,需要手动打开。参考链接:https://jingyan.baidu.com/article/d621e8daf1a1...

2019-02-27 15:05:18 626 0

原创 KNN算法识别手写数字

一,MNIST数据集 MNIST 数据集来自美国国家标准与技术研究所,National Institute of Standards and Technology (NIST)。 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% ...

2019-01-03 16:43:25 322 0

原创 Python /Opencv答题卡识别用例

使用Python3和Opencv识别一张标准的答题卡。大致的过程如下: 1,读取图片 2,利用霍夫圆检测,检测出四个角的黑圆位置,从确定四个角的位置 3,利用透视变换和四个角的位置,矫正图片(直接用的网上的图片,没有拍照,所以这一步没有实现) 4,裁剪四个边框,获取边框上小黑格的位置 5...

2019-01-03 14:34:35 1964 1

原创 机器学习--KNN算法中的训练数据与测试数据的分离

为什么要将数据分成两部分? 假如直接通过大量的训练数据得到我们想要的模型,并且将这个模型直接放在真实环境中使用。但是这样做就会产生很多问题。 1,模型的性能很差。2,在真实的环境中可能很难拿到数据的真实的label,比如银行客户的信誉,是需要大量的数据才能得到的。 其实在实际环境中,我们是用...

2018-11-07 15:13:52 1409 0

原创 scikit-learn中KNN算法数据归一化的分装

现在已经通过大量数据训练出模型,那么在做数据归一化时,要考虑对训练数据和测试数据都要归一化。 但是测试数据在后面是需要当作测试模型性能的工具,它的存在是模拟真实环境。 1,真实环境是很可能无法得到所有测试数据的均值和方差的。 2,而且数据归一化是KNN算法的一部分。 比如,预测一朵花的类型...

2018-10-31 15:27:25 163 0

原创 KNN算法的数据归一化--Feature Scaling

如图1所示,假设现在有两个样本,分别拥有两个特征,如下:   肿瘤的大小(厘米)的 发现时间(天) 样本1 1 200 样本2 五 100 计算两个样本之间的欧拉距离: D =  ,这个计算结果很明显是被时间主导的。 所以,将时间以年为单位,那...

2018-10-30 11:07:00 641 0

原创 机器学习---scikit-learn中KNN算法的封装

1,工具准备,python环境,pycharm 2,在机器学习中,KNN是不需要训练过程的算法,也就是说,输入样例可以直接调用predict预测结果,训练数据集就是模型。当然这里必须将训练数据和训练标签进行拟合才能形成模型。 3 3,在pycharm中创建新的项目工程,并在项目下新建KNN....

2018-10-13 11:09:53 125 0

原创 机器学习--KNN算法基本思想

KNN算法--K近邻算法(K-Nearest Neighbors) 如下图所示,用肿瘤的大小表示横坐标,时间表示中坐标,其中红色表示良性肿瘤,蓝色表示恶性肿瘤。 根据下图能够得到8个点的初始信息。 假如此时出现了第9个点,它的落点在第7个点和第8个点之间,怎么判断它的属性是良性还是恶性呢?...

2018-10-13 10:27:14 697 0

原创 Python.面向对象-----类的内置attr属性

这个比较简单。 代码示例: class Foo: x = 1: def __init__(self,y): self.y = y; def __getattr__(self,item): print('-----&a...

2018-04-12 15:46:59 373 0

原创 Python.面向对象------封装

封装,抛开面向对象不说,装就是将小猫,小狗装进麻袋,封就是将麻袋封上口。在面向对象中,这个麻袋就是类或者对象,类和对象这两个麻袋内部装了数据属性和函数属性,那么对于类和对象来说,封就是将属性隐藏起来,外部无法使用。那么如何完成’封‘呢?python是不依赖语言特性去封装数据,而是通过遵循一定的数据...

2018-04-12 15:22:41 89 0

原创 Python.面向对象------反射/自省

反射:程序可以访问,检测和修改它本身状态或行为的一种能力(自省)下面就介绍四种实现自省的函数,适用于类和对象1,判断object中有没有一个name字符串对应的属性或者方法hasattr(object,name) 2,获取object中name字符串对应的属性值或者方法地址,其中default参数...

2018-04-12 10:51:34 137 0

原创 Python----Ubuntu下利用easy_install安装django环境

前提准备是下载好UNix 版本的setuptools安装包(自行下载),Ubuntu自带python2,我是事先将默认使用python2改成Python3。 1,将安装包解压到当前的文件夹,我是直接下载的zip格式的压缩包。 upzip settools-33.1.1.zip 2,进入...

2018-04-11 12:35:32 172 0

原创 Python.面向对象---类和对象属性的增删改查

一,类属性的操作 class Chinese: country = 'China' def __init__(self,name): self.name = name def play_ball(self,ball): ...

2018-04-10 12:36:09 871 0

原创 Python.面向对象---静态属性,类方法,静态方法

1,静态属性:在函数前加@property,将函数逻辑”封装“成数据属性,外部直接调用函数名,如同调用属性一样。这个函数                      是可以调用对象和类的属性的。class Room: def __init__(self,name,owner,width,le...

2018-04-10 12:22:14 131 0

原创 Python—带参数的用户验证功能装饰器

user_list = [ {'name': 'sb1', 'passwd': '123'}, {'name': 'sb2', 'passwd'...

2018-02-14 11:16:01 250 0

原创 Python—装饰器

一,装饰器本质是函数, 为其他函数添加附加功能   二,原则   1,不能修改被装饰函数的源代码   2,不能修改被装饰函数的调用方式   三,装饰器的知识储备         装饰器 = 高阶函数 + 函数嵌套  + 函数闭包   四,高阶函数    1,函数接受的参数是一个函数名    2,函...

2018-02-14 11:07:56 88 0

原创 Python—装饰器模拟用户登陆验证功能

user_list = [ {'name':'sb1','passwd':'123'}, {'name':'sb2','passwd':�...

2018-02-14 10:27:18 1717 0

原创 python--基础练习题(一)下

17、制作趣味模板程序         需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意         如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx 18、制作随机验证码,不区分大小写。 流程:  - 用户执行程序  - 给用户显示需要输入的验证码...

2018-01-28 20:49:58 1092 0

原创 python--基础知识练习题(一)上

1,执行python脚本的两种方式      第一种,配置好环境变量,找到pyhon文件,形式:python 1.py      第二种,进入解释器,实时输入输出,形式:python      在Linux在,在文件内部加入该语句#!/usr/bin/env python,即解释器的位置,终...

2018-01-28 15:54:18 10862 1

原创 python_09基础了解

先在电脑上安装好python,并配置好环境变量,本人安装的是python3.6. 1,第一句  python        执行一个.py文件的过程:按照python的规则写一个文件,并将文件交给python解释器,读取文件中的内容,然后进行转换会让执行,最终获取结果。       后缀名是...

2018-01-25 16:41:56 88 0

转载 套接字

一、什么是socket  socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单机上进行,也可以跨网络进行。也就是说它可以让不在同一台计算机但通过网络连接计算机上的进程进行通信。也因为这样,套接字明确地将客户端和服务器区分开来。 二、套...

2016-12-24 22:48:55 220 0

转载 CS和BS

一、什么是CS和BS结构? 1.C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。 2.B/S是Brower/Server的缩...

2016-12-23 23:06:12 413 0

转载 strcpy拓展

一个标准的strcpy函数: 原本以为自己对strcpy还算比较了解,结果面试时还是悲剧了。 下面给出网上strcpy的得分版本: 2分 void strcpy( char *strDest, char *strSrc ){  while( (*strDest++ = * strS...

2016-12-22 22:32:57 206 0

转载 子网掩码

子网掩码(subnet mask)是每个使用互联网的人必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。 子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;...

2016-12-21 21:49:35 238 0

转载 将一个任意输入的10进制数转化为16进制形式输出

//将一个任意输入的10进制数转化为16进制形式输出 #include<stdio.h> #define MAXSIZE 11 void ten20x(unsigned int a,char *p) { int i; int j = 2; i...

2016-12-18 19:33:18 915 0

转载 C语言中的函数大概执行过程

函数名是一个指针常量,保存的是函数入口地址。 1、通过函数名找到函数入口地址 2、给形参分配空间 3、给形参传值 4、执行函数体语句 5、返回返回值,释放空间 函数传参注意; 当只使用不修改实参变量对应空间的值,传实参变量名。 当即使用也修改实参变量对应空间的值,传实参变量对应空间的地址。...

2016-12-17 20:36:46 223 0

转载 回调函数

1.回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。 2.回调函数就相当于一个中断处理函数,由系统在符合你设定的条件时自动调用。为此,你需要做三件事:1,声明;2,定义;3,设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参...

2016-12-16 22:17:38 144 0

转载 枚举

枚举类型 在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型...

2016-12-15 23:12:52 125 0

转载 内存溢出

在程序员设计的代码中包含的“内存溢出”漏洞实在太多了。 导致内存溢出问题的原因有很多,比如: (1) 使用非类型安全(non-type-safe)的语言如 C/C++ 等。 (2) 以不可靠的方式存取或者复制内存缓冲区。 (3) 编译器设置的内存缓冲区太靠近关键数据结构。 ...

2016-12-13 21:50:25 241 0

转载 IP地址的分类

P地址分为A,B,C,D,E五类。 网络号:用于识别主机所在的网络; 主机号:用于识别该网络中的主机。 其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用。这三种是主要的。 IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于...

2016-12-11 20:36:33 262 0

提示
确定要删除当前文章?
取消 删除