自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

转载 python 结巴分词(jieba)学习

转:http://www.tuicool.com/articles/QV36ru 源码下载的地址:https://github.com/fxsjy/jieba演示地址:http://jiebademo.ap01.aws.af.cm/特点 1,支持三种分词模式: a,精确模式,试图将句子最精确地切开,适合文本分析; b,全模式,把句子中所有的可以成词的词语都扫描出来, 速度非

2016-05-10 17:45:39 1014

转载 matlab曲面颜色

转载自http://mirlab.org/jang/books/matlabProgramming4beginner/04-3_colorControl.asp?title=4-3%20%A6%B1%AD%B1%C3C%A6%E2%AA%BA%B1%B1%A8%EE4-3 曲面顏色的控制利用 colorbar 指令,可顯示 MATLAB 如何以不同顏色來代表曲面的高度,例如若先

2016-03-29 00:15:00 9145

原创 锐化空间滤波器

锐化处理主要目的是突出灰度过度部分。 二阶微分-拉普拉斯算子锐化两变量的离散拉普拉斯算子是: void laplaceSharpenl(){ auto im = imread("/Users/qixiangzhang/Desktop/openCV/jy.png"); Mat dst; Mat kernel = (Mat_<float>(3,3) << 0,-1,0,-

2016-03-26 16:18:30 2377

原创 平滑空间滤波器

平滑线性滤波器,均值滤波平滑线性空间滤波器的输出(响应)是包含在滤波器模板邻域内的像素的简单平均值。这些滤波器有时也称为均值滤波器。也可以把它们归入低通滤波器。 这种处理的结果降低了图像灰度的尖锐变化。由于典型的随机噪声由灰度级的急剧变化组成,因此常见的平滑处理的应用就是降噪。 然而,由于图像边缘(几乎总是一幅图像希望有的特性)也是由图像灰度尖锐变化带来的特性,所以均值滤波器处理还是存在着不希望

2016-03-25 21:29:49 1060

原创 直方图均衡

直方图均衡直方图均衡可均衡大部分像素集中在某一区间的图像,经过处理后可使图像利用大部分灰度值。 openCV直方图均衡化代码:void histogramBalanced(){ IplImage* im = cvLoadImage("/Users/qixiangzhang/Desktop/openCV/gyy.jpg",CV_LOAD_IMAGE_UNCHANGED); Ipl

2016-03-25 15:10:38 438

原创 数字图像的基本灰度变换函数

图像反转,底片效果反转灰度范围[0,L-1]的图像需要使用L-1减去图像灰度值,公式: s = L-1-rmatlab代码>> gyy = imread('gyy.jpg');>> L = uint8(255*ones(size(gyy)));>> imshow(gyy);>> figure,imshow(L-gyy)效果: 对数变换,增强灰度低区/高区对比度对数变换使灰度较低的区域

2016-03-24 23:58:35 9529

转载 Mac下安装使用OpenCV

教导大家如何在Mac下安装使用OpenCV, 包括使用编译器,Xcode,和Eclipse的开发方法系统环境:ML10.7.5 cmake版本:2.8.10XCode版本:4.5.1 OpenCV版本:2.4.3Eclipse版本:Juno Service Release 1    为了方便刚刚接触mac的朋友,我在这里首先说明下opencv在mac下的形式

2016-03-24 21:26:39 680

转载 Matlab 图像处理基本操作

Matlab 图像处理基本操作 文/天神 转载:http://blog.sina.com.cn/s/blog_4a93ccea0100d1lw.html 一、图像基本操作 1.读取图像并显示: clear;close all %清空Matlab工作平台所有变量(准备工作) I=imread(‘pout.tif’); % 该图像是Matlab图形工具

2016-03-20 23:32:33 1777

转载 操作系统常见面试题总结

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

2016-03-18 09:51:11 554

原创 推荐物品算法:欧几里得距离评价&皮尔逊相关度评价

两种算法用来计算相似度评价,应用于例如网站的自动推荐。欧几里得距离评价将被评价的内容变为横纵坐标,称为“偏好空间”,将评价人置于坐标系中例如: 如图Toby对Snakes的评价为4.5,对Dupree的评价为1。通过计算两个评价人在偏好空间中的距离平方和再开方即为两人的相似度,距离越短越相似。 为了得出数值便于理解,将计算所得距离+1取倒数,得到0-1范围内的相似值。+1的原因是防止距离为0

2016-03-15 18:16:26 4283

转载 iOS通过代码跳转到指定的StoryBoard

在有storyBoard之后,界面跳转变的更加简单了。拖根线,再配合几句代码就可以了。但是在项目较大的工程中,到处拖线会让StoryBoard变的乱糟糟的。所以,最开始纯代码跳转界面的方法还是很有必要去掌握的。Step1:创建新的工程,在storyBoard创建navigationController,第一个视图和第二个视图Step2:把各个控制器的class设为对应的

2016-03-12 14:10:55 1379

原创 求最大公约数——欧几里得碾转相除法

欧几里得碾转相除法求最大公约数算法: E.给定两个正整数m和n,求最大公约数。 E1.【求余数】用n除m,r为余数。(m/n余r) E2.【余数为0?】如果r=0,算法终止,n是答案。 E3.【减少】置m=n,n=r,返回E1改进算法,使m=n之类的平凡替换操作减少 E.给定两个正整数m和n,求最大公约数。 E1.【求m/n的余数】用n除m,另m为余数。 E2.【余数为0?】如果m=0

2016-03-03 23:14:29 2288

原创 More Effective C++ 第六部分 杂项讨论

32.在未来时态下发展程序软件最初的开发与后续开发和维护的人通常不是同一批,所有我们需要强制某些规范,例如利用c++语言特性强制对象产生与heap内。不要想着我记得不去做某些事就行,需要强制实行。确保operator和函数拥有自然的语意。应和内建类型一样,如果疑惑,不妨看看ints有怎样的表现。任何事情之一有人能做,就会有人做。例如抛出异常,将对象自我赋值,在为获得初值前使用对象,给函数非法的值……

2015-12-18 19:11:41 374

原创 More Effective C++ 第五部分 技术

本部分内容比较高深,涉及很多较高端的技术。笔记会有许多不足的地方,若复习可以在看一遍书。只看笔记恐怕无法彻底理解。 25.将constructor和non-member function虚化virtual constructorvirtual constructor是并非是constructor,其根据输入可产生不同类型的对象(以多态的方式返回),常用的使用情况如在磁盘读取数据,产生一个或为音乐,

2015-12-18 16:11:30 302

原创 More Effective C++ 第四部分 效率

16.谨记80-20法则程序80%的时间用在20%的代码上,盲目的优化程序并不会带来性能的显著改善,应该先借助程序分析器寻找那20%的代码,对其实行优化。17.考虑使用缓式评估(lazy evaluation)缓式评估更通俗的说法是拖延战术。延缓运算,直到运算结果被迫切的需要为止,这样可以避免一些得到结果却无用的计算。例如标准库的stringString s1 = "HH";String s2 =

2015-12-15 22:34:37 257

原创 More Effective C++ 第三部分 异常

exceptions:异常9.利用destructors避免泄漏资源使用智能指针可保证异常发生异常时不发送内存泄漏。10.在constructor内阻止资源泄漏若一个对象在constructor函数内发送了异常。那么这个对象是不完整的,new返回的是null指针,不能调用destructor ,会产生资源泄漏。 对此作出的策略是在constructor内捕捉可能发送的异常,进行清理工作。再继续传播

2015-12-15 20:42:49 331

原创 More Effective C++ 第二部分 操作符

5.对定制的”类型转换函数”保持警觉 使用类型转换函数将会导致预期之外的转型,应避免隐式的转换,使用显式转换代替。 C++可以使自定义类型增加隐式类型转换的功能,方法: 1.使用单自变量construcor。class Name{public: Name(const string& s);//将string转换为Name};2.使用隐式类型转换操作符class Name{pu

2015-12-14 21:43:13 304

原创 More Effective C++ 第一部分 基础议题

1.仔细区别pointers和references 当你知道你需要指向某个东西,而且绝不会改变其指向其他的东西,或当你实现一个操作符而语法需求无法由pointer达成,你就应该选用reference.任何其他时候,请使用pointers. 指向NULL一个reference必须代表某个对象,即不可为NULL。而pointer 可以。若使用reference将意味着不再考虑reference成为N

2015-12-14 19:03:57 335

原创 TCP/IP详解-协议

本书17-23章讲解TCP,为重点。标题用红色字体标明1.概述TCP/IP通常被认为是一个四层协议系统,包括:1.链路层,用于处理物理接口。 2.网络层,处理分组在网络中的活动,如分组的选路。在TCP/IP协议族中,网络层协议包括IP,ICMP(Internet控制报文协议),IGMP(Internet组管理协议)。并不提供可靠性保证。 3.运输层,用于提供两台主机上端到端的通信。在TCP/IP

2015-12-13 21:29:10 1901

原创 编程珠玑 第三部分 应用

11.排序这章介绍了插入排序和快速排序,这些知识都已经学过了,不在此重复。12.取样问题本章主要介绍了生成0~n-1区间内m个随机数并按序输出的三种方法。 方法一O(n): 考虑m=2;n=5的情况,选择第一个数0的概率是2/5,但是选择数1的概率并不能是2/5,因为这样的选择方式可能选出的数个数不是m,因此要修改策略。在已经选择了0的情况下选择1的概率是1/4,未选择0的情况下选择1的概率是2

2015-12-06 17:48:51 531

原创 编程珠玑 第二部分 性能

6.程序性能分析程序的加速通过几种不同的方式得到的。 1.算法和数据结构(选用合适的数据结构) 2.算法优化 3.数据结构重组(必要时重新配置数据结构) 4.代码优化。 5.硬件优化。7.粗略估算尝试利用不同条件,从不同途径获得估算结果,比进行相互验证;72法则估算指数过程的增长:假定你投入了一笔钱,时间是y年,利率每年是r% 如果r*y = 72,那么大致说来你投入的钱会翻番的。估算技巧

2015-12-04 14:48:40 344

原创 编程珠玑 第一部分 基础

1.开篇这一章探讨了一个经典的问题,即所谓的磁盘文件排序或“外排序”。 书中提到了对内存大小使用大小有要求的程序设计的一个想法是使用分桶方法: 前提是待排序的数据是有一个取值范围,我们假设为[0,N]。并且数据的分布应为较均匀的。 将数据分成[0,M-1],[M,2M-1],[2M,3M-1]……[KM,N]这样的一系列区间。我们将遍历待排序数据,将值属于[0,M-1]的数据放入内存中,对内存

2015-12-03 12:32:26 557

转载 MATLAB入门教程

转载自http://blog.csdn.net/lxdfigo/article/details/8279962MATLAB入门教程 1.MATLAB的基本知识1-1、基本运算与函数   在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:  >> (5*2+1.3-0.8)*10/25  a

2015-12-02 14:21:29 406

原创 Effective C++ 笔记 第九部分 杂项讨论

53.不要轻忽编译器的警告(Pay attention to compiler warnings.) 严肃对待编译器发出的警告信息。努力在你的编译器的最高警告级别下争取无任何警告的荣誉。 不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态度并不同。一旦移植到另一编译器上,你原本依赖的警告信息有可能消失。 54.让自己熟悉包括TR1在内的标准程序库(Familiarize yoursel

2015-11-25 14:03:44 363

原创 Effective C++ 笔记 第八部分 定制new和delete

49.了解new-handler的行为(Understand the behavior of the new-handler) set_new_handler允许客户指定一个函数,在内存分配无法获得满足时被调用。 Nothrow new是一个颇为局限的工具,因为它只适用于内存分配;后继的构造函数调用还是可能抛出异常。 当operator new无法满足某一内存分配需求时,他会先调用一个客户

2015-11-25 00:28:31 320

原创 Effective C++ 笔记 第七部分 模板与泛型编程

41.了解隐式接口和编译期多态(Understand implicit interface and compile-time polymorphism.) classes和templates都支持接口和多态。 对classes而言接口是显示的,以函数签名为中心。多态则是通过virtual函数发生于运行期。 对template参数而言,接口是隐式的,奠基于有效表达式。多态则是通过template

2015-11-24 13:31:45 400

原创 Effective C++ 笔记 第六部分 继承与面对对象设计

32.确定你的public继承塑模出is-a关系(Make sure public inheritance models “is-a”) “public继承”意味is-a。适用于base classes身上的每一件事情一定也适用于derived classes身上,因为每一个derived class对象也都是一个base class对象。 33.避免遮掩继承而来的名称(Avoid hiding

2015-11-23 00:14:45 385

原创 Effective C++ 笔记 第五部分 实现

26.尽可能延后变量定义式的出现时间(Postpone variable definitions as long as possible) 尽可能延后变量定义式的出现。这样做可以增加程序的清晰度并改善程序效率。 在变量定义式出现后,将调用构造函数,若该变量未被使用,则浪费效率。 不只要延后变量的定义,直到非得使用该变量的前一刻为止。甚至应该尝试延后这份定义直到能够给他初值实参为止。如果这样

2015-11-22 00:21:12 379

原创 Effective C++ 笔记 第四部分 设计与声明

18.让接口容易被使用,不易被误用(Make onterfaces easy to use correctly and hard to use incorrectly) 好的接口容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。 “促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。 “阻止误用”的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的

2015-11-13 00:12:05 470

原创 Effective C++ 笔记 第三部分 资源管理

资源管理就是一旦用了它,将来必须还给系统。13.以对象管理资源(Use objects to manage resources) 为防止资源泄露,请使用RAII(资源取得时机便是初始化时机)对象,他们在构造函数中获得资源并在析构函数中释放资源。 两个常被使用的RAII classes分别是tr1::shared_ptr和auto_ptr。前者通常是较佳的选择,因为其copy行为比较直观。若选择a

2015-11-08 00:32:09 434

原创 Effective C++ 笔记 第二部分 构造/析构/赋值运算

5.了解C++默默编写并调用哪些函数(know what functions C++ silently writes and calls) 编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符,以及析构函数。 编译器拒绝提供copy assignment操作符的2种情况: 1.有reference成员变量 2.有const成员变量

2015-11-07 20:47:42 344

原创 Effective C++ 笔记 第一部分 让自己习惯C++

1.视C++为一个语言联邦(View C++ as a federation of languages)C++可分为4个主要的次级语言 1.C 2.Object - Oriented C++ 3.Template C++ 4.STL2.尽量以const, enmu , inline 替换 #define(Prefer consts,enums,and inlines to #defines)

2015-11-05 14:18:46 445

原创 Function语意学 Member的各种调用方式

Nonstatic Member Functionsnonstatic member functions和一般的nonmember function有相同的效率。也就是说下边两种函数效率相差不多。float func(const ClassA *this){...}//nonmember functionfloat ClassA::func() const{...}//nonstatic memb

2015-10-29 20:33:57 423

原创 Data语意学 继承与Data Member

单继承在没有多态的情况下比较简单,只是把基类堆叠到派生类上边,组成一个新的类。注意基类的alignment造成的调整边界产生的内存使用并不会消失。class A{public: char a;};class B: public A{ //B的大小是8public: int c;};加上多态后需要在object中导入一个vptr,加入的vptr可以放在尾部(与C stru

2015-10-28 23:55:32 413

原创 Date语意学 Data Member的存取

已知下面这段代码Point3d origin,*pt = &origin;存取data member有什么区别origin.x = 0.0;pt->x = 0.0;Static Data MembersStatic data members被编译器提出于class之外,被视为一个global变量。 若X是一个Static data members,则origin.x = 0.0;pt->x =

2015-10-28 19:39:00 340

原创 Data语意学 - 类的大小应该是多少? (The Semantics of Data )

以下程序运行在64位机上,使用Xcode7.0.1,一个指针8字节。类的大小应该是多少?一个空的类的对象大小是多少?一个对象必须要在内存中占有一定的位置以表明他是存在的。class X{};所有编译器会在class X 的声明中加入一个隐藏的1 byte大小的char,使得这一class的object在内存中拥有独一无二的地址。所以X对象的大小应是1byte. 在大部分机器上,聚合的结构体大小会

2015-10-27 22:54:19 394

原创 程序转化语意学 Program Transformation Semantics

显示的初始化操作已有定义X x0;下边三个定义,显式的使用x0初始化void foo(){ X x1(x0); X x2 = x0; X x3 = X(x0);}将被编译器转化为调用class 的 copy constructorvoid foo(){ X x1; X x2; X x3; x1.X::X(X0);//调用X::X(const

2015-10-26 22:48:07 367

原创 C++拷贝构造函数语意学 copy constructor(The Semantics of Constructors)

使用copy constructor的三种情况有三种情况,会以一个object的内容作为另一个class object的初值。 1.显式的以一个object的内容作为另一个class object的初值class X{......};X x;X xx = x;2.当object被当做参数交给某个函数时void foo(X x);void bar(){ X xx; foo(xx

2015-10-26 20:27:29 898

原创 C++构造函数语意学 - Constructor(The Semantics of Constructors)

1.默认构造函数(Default Constructor)default constructors 在编译器需要时被合成出来。被合成出来的constructor只执行编译器所需的行动。也就是说default constructor不会将data members(如 int型)初始化,而是处理member object(成员对象)等编译器的需求。对于class X ,如果没有任何user-declat

2015-10-24 16:29:46 448

转载 内存管理,WEAK 和 UNOWNED

内存管理,WEAK 和 UNOWNED 由 王巍 (@ONEVCAT) 发布于 2015/02/25 因为 Playground 本身会持有所有声明在其中的东西,因此本节中的示例代码需要在 Xcode 项目环境中运行。在 Playground 中可能无法得到正确的结果。 不管在什么语言里,内存管理的内容都很重要,所以我打算花上比其他 tip 长一些的篇幅仔细地说说这块内容。Swift 是自动管

2015-09-29 22:01:56 247

空空如也

空空如也

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

TA关注的人

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