自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zender

勤学如春起之苗,不见其长,日有所增。辍学如磨刀之石,不见其损,日有所亏。

  • 博客(201)
  • 资源 (5)
  • 收藏
  • 关注

原创 Error interpreting JPEG image file (Not a JPEG file: starts with 0x89 0x50)

今天在ubuntu16.04下,打开一张jpg图片时,显示下图错误:但是在同一个文件夹中的,另一张JPG文件可以正常打开,很郁闷,于是上网搜索,原因如下:Not a JPEG file: starts with 0x89 0x50 的意思,是告诉我们这个档案根本不是 jpg,因为档头是 0x89 0x50,而0x89 0x50是 png 的。于是将该等图片延

2017-11-30 15:59:14 14888 1

原创 【深度学习框架Caffe学习与应用】 第十一课

1.车辆检测实践:使用Caffe训练的深度学习模型做目标检测——以车辆检测为例有关文件都放在以下文件夹中:对vehicle_detetc.cpp进行编译:编译之前,需要修改一下代码中的文件路径:我刚开始先编译之后,才修改的源文件,所以运行的时候,出现下面错误:只要修改完路径之后,重新编译就好

2017-11-27 11:36:48 1849

原创 【深度学习框架Caffe学习与应用】第五课 自定义神经层和数据输入层

1.创建新定义的头文件,目录在caffe/include/caffe/layers/my_neuron_layer.hpp  我复制了conv_layer.hpp文件,然后在该文件的内容上进行更改如果只是需要CPU方法,可以注释掉forward_gpu和backward_gpu修改对照内容如下(左侧是conv_layer.hpp,右侧是my_neuron_layer.hpp):

2017-11-25 17:21:44 874

原创 【深度学习框架Caffe学习与应用】第四课 Caffe可视化工具

1.首先准备pycaffe环境输入一下命令:2.网络可视化的工具2.1在caffe中,有一个专门用于画网络结构图的py文件:caffe/tools/draw_net.py2.2 也可以通过在线可视化工具,网址如下:http://ethereon.github.io/netscope/#/editor

2017-11-24 21:36:05 642

原创 【深度学习框架Caffe学习与应用】第三课 使用训练好的模型

1.均值文件将所有训练样本的均值保存为文件。首先将计算均值文件的caffe工具compute_image_mean放到当前目录:caffe/test/mnist/下面,之后运行如下命令:这样,我们的均值文件就生成了2.改写deploy文件(以mnist为例)(略过)3.使用修改后的mnist的deploy文件,输入一张图片,输出分类结果

2017-11-24 11:32:57 1646

原创 【深度学习框架Caffe学习与应用】第一课 Opencv安装

编译测试文件test_opencv.cpp的时候出现错误:解决方案:sudo apt-get autoremove libopencv-dev或者:用pkgconfig解决的:g++ -o test_mnist test_mnist.cpp `pkg-config opencv --cflags --libs`参考:http://f.datagu

2017-11-23 23:51:58 517

原创 【深度学习框架Caffe学习与应用】第三课 将图片数据转化为LMDB数据``

1.将图片数据转化为LMDB数据第一步:创建图片文件列表清单,一般为一个txt文件,一行一张图片我在caffe/data/目录下新建一个test_data的文件夹,里面放训练集及数据集首先看一下data/test_data/train/male中的图片,显示出文件名然后终端运行下面命令,将文件夹中图片的名称写到txt文

2017-11-23 17:25:33 294

原创 【深度学习框架Caffe学习与应用】第二课

1.使用Protocol Buffer提供的命令行编译工具protoc进行编译首先写好了一个proto文件:然后将该文件编译成一个C++的输出此时可以看到,test文件夹中出现了.cc跟.h文件,然后使用test_pb.cc测试生成的头文件ly.helloworld.proto然后去编译这个文件

2017-11-23 11:01:31 330

原创 ubuntu16.04 vim安装和退出编辑

1.先安装vim包apt-getinstall vim然后根据提示apt-get -f install然后说没有权限,在前面加上sudosudo apt-get -f install之后有提示,选择Y,也就是进行更新安装,不要选择N,安装空间大约需要30M安装完成之后,终端输入vim完成

2017-11-23 09:32:47 9441

原创 ubuntu16.04没有声音解决方案

上网搜了一堆资料也没解决,自己瞎捣鼓给弄好了,记录下输入下面命令安装pavucontrol:#sudo apt install pavucontrol#pavucontrol运行h之后就是下图这个样子点击Playback选项,将下面的Built-in Audio Analog Stereo修改为Logitech EasyCall Speak

2017-11-22 16:14:15 32361 1

转载 关于在linux下清屏的几种技巧

在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢?下面笔者分享几种在linux下用过的清屏方法。1、clear命令、这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。2、Ctrl+l(小写的L)、这是一个清屏的快捷键,这个是笔者在工作中用得最多的一种清屏方式,清屏效果同clear命令

2017-11-21 19:44:17 367

原创 linux下创建、删除文件夹

1.在 Linux 下,我们可以使用 mkdir 命令创建目录,mkdir 是“make directory” 的缩写词。运行 mkdir 命令默认情况下,不带任何参数运行 mkdir 命令会在当前目录下创建目录。下面是参考示例:创建多个目录我们也可以同时创建多个目录。比如我们要创建的目录有 build_lmdb, dataset,那

2017-11-21 19:38:53 37751

原创 【caffe学习笔记二】学习搭建自己的网络 MNIST 在 caffe 上进行训练与学习

一、准备样本数据1.下载minist的数据包,一共是四个数据包,如下图所示:命令如下:cd caffecd data/mnist./get_mnist.shget_mnist.sh代码如下:#!/usr/bin/env sh# This scripts downloads the mnist data and unzips it.D

2017-11-18 15:02:41 2558

原创 ubuntu16.04 搜狗输入法设置

1.如果系统中未安装依赖fcitx,libssh2-1,或者依赖fcitx,libssh2-1的版本低的话,则需提前安装或者升级,否则安装输入法时会出错安装命令sudo apt-get install fcitx libssh2-12.接下来我们从搜狗官方下载deb包下载地址在 http://pinyin.sogou.com/linux/ 根据你的系统选择32位或者

2017-11-18 14:17:36 2209

原创 [caffe学习笔记]用自己的数据进行训练和测试

我今天尝试制作一个自己的训练数据集,参考薛开宇的学习方式,模仿搭建自己的数据库。 1.因为我的电脑里有整个ImageNet_ILSVRC2012的数据集,所以从训练集ILSVRC2012_img_train中随便选了两种:bird和fowl2.生成标签文件列表,即生成 train.txt 和val.txt 文件 3.将生成的 txt 文件列表中的图像与train图像库、val图像库的图

2017-11-17 12:09:20 945

转载 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

这篇文章里,我们将一起探讨图像金字塔的一些基本概念,如何使用OpenCV函数 pyrUp 和 pyrDown 对图像进行向上和向下采样,以及了解了专门用于缩放图像尺寸的resize函数的用法。此博文一共有四个配套的简短的示例程序,其详细注释过的代码都在文中贴出,且文章最后提供了综合示例程序的下载。先尝鲜一下其中一个示例程序的运行截图:   

2017-10-16 10:55:46 315

转载 张正友标定算法原理详解(一)

一、背景  ”张正友标定”是指张正友教授1998年提出的单平面棋盘格的摄像机标定方法[1]。文中提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时也相对于自标定而言,提高了精度,便于操作。因此张氏标定法被广泛应用于计算机视觉方面。二、计算内参和外参的初值1、计算单应性矩阵H  根据之前博客介

2017-10-16 09:03:59 45047 3

转载 张正友标定算法原理详解(二)

使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些?相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。相机标定的输入:标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐

2017-10-16 08:52:18 8929 2

原创 Bash shell

1.什么是Bash、什么是shell?     在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。shell 是一个命令语言解释器(command-language interpreter)。拥有自己内建的 shell 命令集。此外,she

2017-10-10 10:33:17 491

原创 【牛客】 2017-10-10 操作系统错题整理

1.BMP图片是24bit的,那么一张512*1024点的图片是多大?A:1.5MB:12M C:1MD:2M解答:A1 byte = 8 bit 即8位为一个字节,所以 一个像素占24bit/8 = 3 byte,总大小为 512*1024*3 byte,再将byte转化为M 即(512*1024*3)/(1024*1024)色彩深度又叫色彩位数,即位图中要用

2017-10-10 10:07:30 529

转载 操作系统内存管理——分区、页式、段式管理

计算存储的层次结构:当前技术没有能够提供这样的存储器,因此大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 1. 内存管理方法        内存管理主要包括虚地址

2017-10-10 09:28:26 395

转载 磁盘调度算法剖析(FIFO、SSTF、SCAN、CSCAN、FSCAN)

常见的磁盘调度算法有以下几种:1.FIFO:先来先服务算法;2.SSTF:最短寻道时间算法;3.SCAN:电梯调度算法;(这样命名很形象)4.CSCAN:循环扫描算法5.FSCAN:分步电梯调度算法(分两个队列)下面详细说一下各个算法的主要思想:FIFO算法:先来先服务算法。这种算法的思想比较容易理解。假设

2017-10-10 08:45:13 1890

原创 【牛客】2017-10-10 C++错题整理

1.已知表达式++a中的"++"是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为()a.operator++()a.operator++(0)a.operator++(int)operator++(a,0)解答:AC++规定:++a 前缀运算符 a.operator() 不需要加参数。a++后缀运算符 a.

2017-10-10 08:18:56 354 1

原创 Mat数据类型 convertTo

1.一般图像文件格式使用的是unsigned 8bits,对应的数据类型有:CV_8UC1、CV_8UC2,CV_8UC3其中,CV_8UC3表示3通道8位的unsigned char型float是32位,对应的CvMat数据结构类型是:CV_32FC1,CV_32FC2,CV_32FC3double是64位,对应的CvMat数据结构类型是:CV_64FC1,CV_64FC2,CV_6

2017-10-09 22:04:56 3066

原创 死锁

定义:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。    死锁的条件:

2017-10-09 15:01:27 155

原创 进程和线程的区别

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系一个线程可

2017-10-09 13:10:26 231

原创 内核栈和用户栈区别:

1.进程的堆栈每个进程都有自己的堆栈,内核在创建一个新的进程时,在创建进程控制块task_struct的同时,也为进程创建自己堆栈。一个进程有2个堆栈,用户堆栈和系统堆栈;用户堆栈的空间指向用户地址空间,内核堆栈的空间指向内核地址空间。当进程在用户态运行时,CPU堆栈指针寄存器指向的 用户堆栈地址,使用用户堆栈;当进程运行在内核态时,CPU堆栈指针寄存器指向的是内核栈空间地址,使用的是

2017-10-09 12:42:40 1142

原创 作业调度算法总结

在典型的设计中,一个任务有以下三种状态:正在运行(Running,正在CPU中执行)、待命(Ready,等待执行)、阻塞(Blocked,任务暂停,等待一个事件的发生,例如接收一组数据)由于CPU在某个时间只能执行一个任务,大部分任务,在大部分时间,处于阻塞或待命状态。可能会有大量项目在待命列表里等待执行,这取决于系统所需的任务数量以及调度器的类型。一、作业(job)的概念

2017-10-09 11:15:24 2448

原创 UNIX的文件访问控制——chmod

先看下面这张PPT我们对文件的访问者一共分成了3类:文件主(文件的创建者)、文件主的同组用户、其他用户我们对文件的操作权限的识别分成了3类:读(r)、写(w)、执行(x)      chmod 是一条在Unix系统中用于控制用户对文件的权限的命令这里的711的意思是:7对应文件主:7用二进制表示是111,表示可以读、写、执行1对应文件主的同组用户:1

2017-10-09 10:14:10 1974

原创 信号量与PV操作

1.概念:信号量(Semaphore):有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore

2017-10-09 09:44:01 5385 2

原创 临界区、相关临界区

1.概念       临界区:每个进程中访问临界资源的那段代码称为临界区(Critical Section)临界资源:临界资源是一次仅允许一个进程使用的共享资源每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。相关临界区:多个进程中涉及到同一个临界资源的临界区称为相关临界区。百度百科上对临界

2017-10-09 09:10:27 9607

转载 【牛客】哲学家就餐问题+进程竞争

1. 问题描述场景:5个哲学家,5把叉子,5盘意大利面(意大利面很滑,需要两把叉子才能拿起)大家围绕桌子,进行思考与进食的活到,如下图所示。哲学家的活动方式为:要么放下左右手刀叉进行思考,要么拿起刀叉开始吃饭(刀叉拿起时,必须拿两把,而且只能左右手依次拿,先左手拿左边,后右手拿右边,或者先右手拿右边,左边拿左边)。其只有这两种交替状态。哲学家们面临的问题为:如何安排哲学家们

2017-10-08 22:27:42 308

原创 操作系统(OS)

下面对OS不正确的描述是()。OS是系统资源管理程序OS是为用户提供服务的程序OS是其他软件的支撑程序OS是系统态程序的集合解答:D操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是介于底层硬

2017-10-08 22:17:46 4947

转载 Linux进程间通信的两种方式:使用共享内存和信号量

共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他

2017-10-08 22:01:52 1718

转载 Belady异常

采用FIFO算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。Belady现象的描述:一个进程P要访问M个页,OS分配N(N例题:在页式存储管理系统中,采用某些页面置换算法,会出现Belady异常现象,即进程的缺页次数会随着分配给该进程的页框个数的增加而增加。下列算法中,可能出现Belady异常现象的是 ()Ⅰ.

2017-10-08 21:45:40 9786 1

转载 页面置换算法

地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。常见的置换算法有:1)最佳置换算法(OPT)(理想置换算法)这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页

2017-10-08 21:37:32 557

转载 文件的结构及存取方法

文件的组织形式是文件的结构,从不同的角度分析文件有不同的结构形式:逻辑结构和物理结构。从用户角度出发,研究文件的抽象组织方式而定义的文件组织形式为文件的逻辑结构;从系统的角度出发,研究文件的物理组织方式而定义的文件组织形式为文件的物理结构。文件的逻辑结构独立于辅存,帮助用户分析信息之间的关系及含义;而物理结构主要关注文件信息的存储形式,帮助用户了解与存储设备相关知识。1、文件的逻辑结构

2017-10-08 21:00:53 10899

原创 【牛客】CPU的运算速度与许多因素有关,下面______是提高速度的有效措施?

1.CPU的运算速度与许多因素有关,下面______是提高速度的有效措施?(1)增加CPU中寄存器的数目(2)提高CPU的主频(3)增加高速缓存(cache)解答:1232.关于 Windows 直接删除文件而不进入回收站的操作中,正确的是 ( ) 。选定文件后,按shift+DEL键

2017-10-08 20:50:08 11414

原创 线程和进程的区别

一个程序至少有一个进程,一个进程至少有一个线程. 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不

2017-10-08 20:39:06 1082

原创 动态分区分配

动态分区分配动态分区分配是根据进程的实际需要,动态的为之分配内存的空间。总体是按照算法规则找到分配的空闲分区,然后从该分区中再按照作业的大小划出一块内存空间分给作业,该分区余下的空闲分区当做一个新的空闲分区留在空闲链中。当作业按照算法规则分配好了后,等作业运行完毕释放内存,系统根据回收区的首址,从空闲区链表中找到相应的插入点,此时可能出现以下4种情况之一:回收区与插入点的前一个空闲分区

2017-10-08 10:31:45 7012

《偷懒的技术:打造财务Excel达人》示例文档.rar

打造财务Excel达人示例文档,主要为其中的EXCEL使用技巧方面的示例

2019-06-12

【深度学习框架Caffe学习与应用】第五课 自定义数据输入层的头文件和源文件

【深度学习框架Caffe学习与应用】第五课 自定义数据输入层的头文件和源文件

2017-11-26

python3.6 Graphics库

python3.6 Graphics库,直接下载这个py文件,然后放到python的安装目录即可

2017-10-06

C++Primer 中文第四版 Sales_item.h 头文件

不知道为什么不能免费上传

2017-08-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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