- 博客(73)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 【Python】写日志
Log Levellogging模块提供5个级别的日志管理,日志等级由下至上逐渐提升,设置日志等级后,只有等级大于等于设定级别的日志写入操作才会执行写入,如果将log的level设置为INFO,那么除了DEBUG级别的打印/写文件之外,其他级别的都会打印/写入控制台打印日志方式一:获取log的root对象,设置level后直接打印import logging#获取logger ro...
2020-02-25 16:32:43
359
原创 Python 与数据存储
1、存储媒体文件媒体文件的存储有两种方式,一种是只存储媒体文件的url链接,这种方式对于媒体文件的url链接基本不发生变化,或对该媒体文件的引用只有一次的情况下
2016-05-13 10:09:16
922
原创 Python 使用xlrd库读取excel
xlrd库提供对excel的读操作,下载地址为https://pypi.python.org/pypi/xlrd,xlrd库的安装可以参考本文的另一篇博文http://blog.youkuaiyun.com/u011974126/article/details/510730761、打开excel文件xlrd提供open_workbook()函数来打开excel文件,示例如下: data=xlr
2016-04-06 19:06:38
12480
原创 Python 第三方库的安装
第一步:下载第三方库本文以用于解析excel的xlrd为例,下载地址为:https://pypi.python.org/pypi/xlrd,下载版本为 xlrd-0.9.4.tar.gz第二步:解压下载到的安装包文件本文解压后的目录为D:\\xlrd-0.9.4第三步:配置环境变量:以windows 7为例,右键点击计算机,选择属性,在弹出的对话框中选择高级系统设置,弹出的对话
2016-04-06 11:21:14
959
原创 Python 3.2 迭代器的next函数
在python中,使用iter函数可以获得有序聚合类型的迭代器,我个人将迭代器理解为带有next指针的单向链表,获取到的迭代器为链表的表头,表头内容为空,next指针指向有序聚合类型的第一个元素。在访问链表最后一个元素的next指针时,python会报错StopIteration。Python3.x以上的版本在使用next函数时需要注意的是:next()函数在3.x以上的版本更改为__next
2016-04-06 10:54:57
4660
原创 简单的Python爬虫刷访问量程序
一下代码实现用默认浏览器连续五次打开某个网页,然后使用os库中带有的taskkill命令关闭浏览器,防止大量占用内存导致死机。本文使用360浏览器。代码如下:import httplib2import urllibimport urllib.requestimport webbrowser as webimport timeimport osimport randomu
2016-03-24 16:48:29
5719
原创 简单的Python网络爬虫程序
import urllibimport httplib2import urllib.requestimport webbrowserurl='http://www.163.com'content=urllib.request.urlopen(url).read()open('163.com.html','wb').write(content)webbrowser.open_n
2016-03-23 20:03:53
1595
原创 C# 与C++的区别小结
1、C#不支持多重继承。使用多重继承可以使派生出来的类具有多重特性,使用紧凑的代码完成十分复杂的功能,但这样不可避免的是代码的调试和阅读变得困难和烦杂,
2015-09-04 10:41:56
4923
原创 C++ this指针
一、this指针的理解this指针是一个特殊的指针,指向一个类的具体实例,即一个类的对象。在类中,通过this指针可以访问类的成员变量及成员函数。但this指针并不是对象本身的一部分,不会影响sizeof()操作符的结果。关于this指针有一个比较经典的举例:当你进去一个房间后,你能看到房子里的电视、冰箱和沙发,但是你却看不见整个房子了。同样的,对于一个类的实例来说,你可以看到他的成员变量
2015-09-02 23:33:53
1351
原创 C++ auto_ptr
在C++中,auto_ptr智能管理动态分配的对象,当对象不再使用时,auto_ptr对象自动完成对被关联对象的清理工作。是C++标准库中为了解决资源泄漏问题而提供一个智能指针类模板。auto_ptr的源代码(源自百度百科)如下:templateclass auto_ptr{private: T*ap;public: //constructor & destruct
2015-09-02 19:43:34
482
原创 函数指针与指针函数、数组指针与指针数组
一、指针函数与函数指针1、指针函数:本质上是函数,只是函数的返回值是指针。举例如下: char* GetValue() { char* a = new char[100]; a = "char"; cout << &a << endl; return a; } 上面是返回值为char类型的指针的一个函数,函数名为GetValue,参数为空;在调用函数时,需要以与
2015-09-01 22:33:11
542
原创 C++ char* str与char str[]
在程序员面试宝典上看到这个两句话:1、char c[]="hello world"是分配一个局部数组;2、char *c="hello world"是分配一个全局数组;最开始还以为是书上说错了,因为自己的理解是这两种方式是等效的。下来查了一下才知道这两种方式的区别。char* str="hello world ";这个指针指向常量字符串,存储在静态存储区,是只读的,不能被修改。而c
2015-08-29 22:24:19
4092
原创 C++ 指针与引用的区别 小结
1、指针是一个实体,是一个变量,只不过这个变量的值存储的是内存中的一个地址。而引用是变量的别名,指向存储该变量的内存单元。2、在访问指针所指向内存单元的值时,需要对指针做解引用操作。而如果需要访问引用所指向的变量的值,则直接使用该引用。3、引用智能初始化一次,不能在再将该引用指向其他变量,即“从一而终”,而指针变量的值则可以多次改变。4、可以有const指针,但是没有const引用。
2015-08-29 19:51:09
467
原创 C++ sizeof 和strlen
最近经常被问道sizeof和strlen的区别,所以现在来总结一下: 1、sizeof是运算符,而strlen是函数。运算符是内置于语言的,函数是所带的库里面的。当然是前者的效率要高一些,不存在函数调用。本质上,运算符应该也算是函数,从运算符重载中可以看出来。 2、sizeof操作符的结果类型是size_t,他在头文件的typedef为unsigned int类型,该类型保证能
2015-08-29 14:25:46
519
原创 C++ 内存的字节对齐
一、字节对齐的原因 在访问内存时,如果地址是按4字节对齐,则访问效率会高很多。这种现象的原因在于访问内存的硬件电路。一般情况下,地址总线总是按照对齐后的地址来访问。例如,你想得到0x00000001开始的四字节内容,系统首先需要以0x00000000读四字节,从中取得3字节,然后再用0x00000004作为开始地址,获得下一个4字节,再从中得到第一个字节,再次组合出需要得到
2015-08-29 11:31:19
1234
原创 C++ 预处理、编译、汇编、链接
一个C++程序一般需要经过以下几个步骤才能成为可执行程序:那么,在以上的每一步中,编译器到底做了哪些工作呢?一、编译器预处理C++编译器自带预处理器,在程序编译之前,由预处理器对C++源程序完成预处理工作。预处理主要将源程序中的宏定义指令、条件编译指令、头文件包含指令以及特殊符号完成相应的替换工作。预处理指令#include用于包含头文件,有两种形式:#include ,#in
2015-08-26 11:14:33
2025
原创 C#与C++的命名空间
继续总结在腾讯面试的出丑经历--命名空间(namespace)。1、命名空间(namespace)在编程时为了为了区别不同的属性或者不同的行为,通常需要为该属性或该类行为以一个便于记住的标识符命名,因此,对于具有相同属性的同类事物,不可避免的会以相同名字来对该事物的属性或者行为命名。并且,不同的人写的程序中不可能所有的变量都没有重名。为了解决这个问题,引入了命名空间这个概念,用来组织和重写
2015-08-20 21:56:02
2522
原创 C++宏的作用与C#里宏的代替(三)
6、宏组合 #和##先上一段代码:#include "stdafx.h"#includeusing namespace std;#define s5(a) Connect_##a#define s(p) #pvoid Connect_Test(const char* p){ cout << "this is Connect Test:" << endl;
2015-08-20 14:23:35
5652
原创 C++宏的作用与C#里宏的代替(二)
继续宏的作用,上一篇文章总结了使用宏定义常量和使用宏防止多重包含。下边接着总结。3、条件编译C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白符号。预处理指令是以#开头的代码行,#必须是该行除了空白字符外的第一个字符。#后是指令关键字,在#和指令关键字之间允许存在若干空白字符。使用宏进行条件编译的用法与
2015-08-20 11:37:16
3912
原创 C++宏的作用与C#里宏的代替(一)
研究生前两年做过不少项目,以前一直觉得自己水平还可以,然而今天去参加了腾讯的面试,问的问题都很基础,然而竟没有一个完完全全的回答上来,感觉自己好菜,唉,回来好好总结,为了offer继续努力。C++中的宏有什么作用,由于在C#中取消了C++中的宏,那么C++中宏的那部分作用在C#中是如何实现的呢?一、C++中宏的作用1、使用宏定义常量 示例:#define MAXSIZE 200
2015-08-19 23:53:32
9427
原创 BMP、JPEG、PNG、GIF格式总结
一、BMP格式(Bitmap)BMP是Windows系统的标准图像文件格式,因此,BMP格式与现有Windows程序广泛兼容。BMP图像采用位映射存储格式,图像深度有1bit、4Bit、8Bit、24Bit以及32Bit可选择。BMP对图像不进行压缩,因此图像包含信息丰富,但代价就是图像占用磁盘空间大。BMP图像一般由四部分组成,分别为:位图文件头(Bitmap-file header)、
2015-08-07 17:07:19
5158
原创 C++ 静态全局变量与普通全局变量
一、存储区域:1、栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区域。通常存储局部变量,函数参数。2、堆:由new分配的内存块,需要手动释放。如果程序员没有手动释放,在程序运行结束后,操作系统自动回收。3、自由存储区:由malloc等分配的内存块,与堆相似,用free来释放。4、全局/静态存储区:用来存放全局变量和静态变量。在C中,全局变量区分初始化的和未初始化的
2015-08-07 11:44:28
2815
原创 C# TreeView的使用以及节点的拖动
在项目中需要使用TreeView,TreeView中的节点是需要监控的视频站点,当拖动TreeView中的节点到Winform中的显示窗口时,可以实现该节点对应的站点的监控,摄像机转动等功能。在实现上述功能之前,程序自定义了一个视频终端类(Terminal),用来保存每一个监控站点的信息,以及实现连接摄像头,断开摄像头连接,炫动云台等操作的接口。实现思路如下:在Form
2015-07-23 11:03:39
8968
1
原创 C# 控件的Tag属性
之前一直觉得控件的Tag属性跟TextBox的Text属性类似,只是用来保存用户对控件标记的文本信息或者布尔值,所以在看到下边的代码之后,就感觉有点看不懂了。 ListViewItem item = listViewChannels.Items.Add(DeviceName); item.Tag = ipcChannel;上边这段
2015-07-21 16:25:00
19031
原创 程序单实例运行
一、Process类 Process提供对本地和远程进程的访问使您更够启动和停止本地系统进程。(优快云) Process的两个重要方法: 1、GetCurrentProcess:获取新的Process组件,并将其与当前活动的进程关联;
2015-07-19 10:22:07
545
转载 WinForm-TextRenderer
2009-08-22TextRendererTextRenderer是一个sealed类,无法继承。该类位于System.Windows.Forms命名空间中,提供了一组静态方法,可用于在 Windows 窗体控件上测量和绘制文本:DrawText与MeasureText。这两个方法都有几个重载方法:DrawText(IDeviceContext dc, string text, Fo
2014-12-17 16:36:21
2312
原创 C#学习笔记之 TabControl控件
写在前边的话:C#学习系列博客是本人在学习C#过程中的读书笔记,目的是方便以后查看复习。由于本人才疏学浅,在学习过程中,难免有所遗漏和错误,欢迎大牛们指正。 TabControl控件即标签也控件,当需要在一个窗体内放置几组相对独立而又数量较多的控件时,可以使用 TabControl控件,该控件有若干个选项卡,每个选项卡关联着一个页面
2014-10-10 22:06:08
8274
1
转载 C# struct的陷阱:无法修改“...”的返回值,因为它不是变量
编译错误 CS1612 Cannot modify the return value of ‘expression‘ because it is not a variable无法修改“expression”的返回值,因为它不是变量 出现这种错误的最常见情况是: AnObject.AnStruct.Vaule = xxx; 考虑如下程序:初看没什么问题,实际上根本无法编译
2014-09-27 11:35:57
2192
转载 运动目标检测算法文献阅读笔记
先前在博客中对常见的运动目标检测算法有写过一篇总结,详情请参考:http://blog.youkuaiyun.com/kezunhai/article/details/8830787。本文是在校期间写的部分阅读笔记,贴出来,以供参考。1. Real-Time Moving Object Detection for Video Surveillance 对视频帧进行4×4的Patch
2014-07-09 11:30:00
1450
转载 《Mastering Opencv ...读书笔记系列》车牌识别(II)
继上一篇文章后,现在要做的就是从车牌图像上使用optical character recognition算法将字符提取出来。对于每一块被检测的车牌,使用带监督的神经网络机器学习算法来识别字符。本文内容:1.字符分割 2.神经网络训练方法3.使用神经网络预测字符一、字符分割【OCR Segment】在使用神经网络对每个字符进行预测之前,
2014-05-28 09:29:37
1105
转载 《Mastering Opencv ...读书笔记系列》车牌识别(I)
一、ANPR简介: Automatic Number Plate Recognition (ANPR),,是一种使用Optical Character Recognition (OCR)和其他分割、检测方法来读取汽车注册牌照的算法。最好的ANPR算法结果是由红外线照相机拍摄图片得到的。因为车牌的特殊材质,夜间会有逆反射效果,看不清车牌。但是现在我们不使用IR图片,我们使用常规图片,这样就
2014-05-28 09:25:54
1258
转载 CString ,BSTR ,LPCTSTR之间关系和区别
CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字符串的表示
2014-05-15 14:18:06
663
转载 MFC浅析(8) CArchive 原理
MFC 提供CArchive类实现数据的缓冲区读写,同时定义了类对象的存储与读取方案。以下对CArchvie 的内部实现作分析。 1.概述 2.内部数据 3.基本数据读写 4.缓冲区的更新 5.指定长度数据段落的读写 6.字符串的读写 7.CObject派生对象的读写1.概述CArchive使用了缓冲区,即一段内存空间作为临时数据
2014-04-10 17:19:05
642
转载 MFC-控件大全-Slider Control
转自:http://blog.sina.com.cn/s/blog_70b3b3a70100v5iz.htmlMFC-控件大全-Slider Con所有的控件的创建基本都是同一套道路;第一步:.h中创建一个CSliderCtrl 类的对象 ; CSliderCtrl m_ctrlSlider;第二步:.cpp中的void
2013-12-22 17:03:33
1540
转载 封闭连续区域的面积和周长计算【2】--面积与周长
上次本来想介绍怎么计算封闭连续区域的面积和周长,结果不小心说成了sobel算子的介绍,这次真的介绍如何计算面积和周长。这里试验用到三幅图片,test1,test2,test3.test4如下图所示: 图1 实际场景中图片图2 人造数据集,场景包含多个物
2013-12-13 09:24:47
2953
转载 OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
源自:http://blog.youkuaiyun.com/chenyusiyuan/article/details/4733691在OpenCV中文论坛看到有不少帖子讲到如何在MFC下应用OpenCV进行图像和视频处理的方法,受益颇丰,主要有下面这些帖子: 1、opencv 数据读写操作+图像噪声+ MFC下OpenCV源代码 2、MFC中快速应用OpenCV & 相
2013-12-12 17:20:32
1092
孙鑫VC++深入浅出 第十五章 多线程关于成员函数的调用
2014-05-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人