自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

让我们的机器来代替人的眼睛专栏

医学图像处理、计算机视觉、模式识别

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

转载 也谈栈和栈帧

一个码农要是没遇见过coredump,那他就是神仙了。core file(coredump的转储文件)中保存的最重要内容之一,就是函数的call trace。还原这部分内容(栈回溯),并与原代码对应上,尽快找出程序崩溃的位置和原因,是码农们一生的责任。当然,你如果有良好的开发环境和开发习惯,保留了现场环境(core file and lib file等)和unstrip的原程序,那么恭喜,

2014-07-23 17:14:57 6357 1

转载 关于编程范式的分析与理解

随着编程(programming、偶不喜欢说程序设计)方法学和软件工程研究的深入,特别是OO思想的普及,范式(paradigm)以及编程范式等术语渐渐出现在人们面前。面向对象编程(OOP)常常被誉为是一种革命性的思想,正因为它不同于其他的各种编程范式;编程范式也许是学习任何一门编程语言时要理解的最重要的术语。然而,在国内逐步了解“范式/编程范式”时,英文中该术语已经处于abuse的

2014-07-23 10:22:03 2925

转载 栈帧

首先应该明白,栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。下图为典型的存取器安排,观察栈在其中的位置 入栈操作:push eax; 等价于 esp=esp-4,eax->[esp];如下图出栈操作:pop eax; 等价

2014-07-23 08:19:15 481

转载 函数调用栈与活动记录

函数调用栈与活动记录在调试的时候经常遇到栈溢出,由此总结了下函数调用栈的知识。为了理解C++是如何执行函数调用的,先考虑一个称为栈(stack)的数据结构。栈是一种后入先出的数据结构——压入(插入)栈的最后一项,是从栈中弹出(移走)的第一项。函数调用栈是“在幕后起作用的”,它支持函数调用/返回机制。它还支持每个被掉函数的自动变量的创建、维护和销毁。当调用每个函数时,它可能调

2014-07-22 10:26:29 1086

转载 C++中的指针与引用

写在前面 指针和引用形式上很好区别,但是他们似乎有相同的功能,都能够直接引用对象,对其进行直接的操作。但是什么时候使用指针?什么时候使用引用呢?这两者很容易混淆,在此我详细介绍一下指针和引用,力争将最真实的一面展现给大家。如果我喷得不够好,希望嘴下留情、手下留命,还请指点一二;如果感觉还不错,请大家鼓掌。1、指针和引用的定义 在深入介绍之前我们首先来看一下指针和引用的定义、

2014-07-18 13:38:41 441

转载 assert()函数的使用

assert宏的原型定义在中,其作用是如果它的条件为假,则终止程序执行,原型定义,ASSERT ()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误:#inclu

2014-07-17 13:24:27 592

转载 malloc&realloc(转)

malloc&realloc首先看个问题程序(这里用的是TC编译器):[cpp] view plaincopyprint?#include "stdlib.h"  #include "stdio.h"  void main()  {     int *i;     i=(int *)malloc(sizeof(int));     *i=1;    

2014-07-17 10:12:46 627

转载 malloc realloc and new

realloc  原型:extern void *realloc(void *mem_address, unsigned int newsize);  用法:#include 有些编译器需要#include   功能:改变mem_address所指内存区域的大小为newsize长度。  说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。  当内

2014-07-17 10:11:34 428

转载 程序的内存管理

内存分配方式有三种:[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。[3]从堆上分配,亦称动态内存分配。程序在运行的

2014-07-17 09:56:56 504

原创 佛法原来是内求的

半年来,经历工作,失恋,

2014-07-16 19:18:35 1477

转载 Bayer彩色滤波器

Bayer滤波器是一个将RGB三种彩色安排在单片CCD像元阵列上的彩色滤波器排列方式,如下图所示。Bayer滤波器又常被称作彩色滤波马赛克。每一个像元都用一微小的红、绿、蓝滤色片覆盖,其中绿色像元的数量是红和蓝像元的数量的二倍。这是因为人眼对绿色图像细节的分辨能力比红和蓝的高。从图上图中的(b)部分可以看出,每四个像元组成的方块内,都含有二个绿色像元,而红和蓝色像元

2014-07-14 16:25:11 6862 2

原创 一次亲身经历体验内存管理的重要性

最近

2014-07-11 10:53:38 1037

转载 【转】JPEG压缩原理

第一章 图像压缩编码的综述 1.1 图象压缩的目的和方法              图象的数字化表示使得图象信号可以高质量地传输,并便于图像的检索、分析、处理和存储。但是数字图像的表示需要大量的数据,必须进行数据的压缩。即使采用多种方法对数据进行了压缩,其数据量仍然巨大,对传输介质、传输方法和存储介质的要求较高。因此图象压缩编码技术的研究显得特别有意义,也正是由于图

2014-07-07 16:43:45 823

原创 人的视觉感知理论

人类信息处理的过程是一个一项重要的心理调节活动。通常,实际场景图像除了包含感兴趣的目标之外,通常还包含着大量干扰信息。认知心理学研究表明,在分析复杂的输入景象时,人类视觉系统采取了一种串行的计算策略,即利用选择性注意机制,根据图像的局部特征,选择景象的特定区域,并通过快速的眼动扫描,将该区域移到具有高分辨率的视网膜中央凹区,实现对该区域的注意,以便对其进行更精细的观察与分析。视觉注意机制能够帮助大

2014-07-07 16:42:56 7247

原创 光源、图像采集及图像性质表达

描述光源的参数有光通量、照度、光强、亮度、色温、显色性等。其中,光源显色性和色温是光源的两个重要的颜色指标。色温是衡量光源色的指标,而显色性是衡量光源视觉质量的指标。假如光源色处在人们所习惯的色温范围内,则显色性应是光源质量更为重要的指标。(眼底光源的种类?) 在摄像机中广泛使用的半导体光敏传感器有两种:一种是CCDs(电荷耦合器件)。另一种是CMOS(互补型金属氧化物

2014-07-07 16:35:59 1017

原创 色彩物理学与颜色视觉

人的色彩感知是在电磁辐射的波长这一客观物理性质的基础上加上一个主管层次,是一个心理物理现象。人的视觉系统有两个特点:1,在绝对意义下,人类视觉系统能感知的色彩并不十分准确,能观察到的色彩有限,低于一些标准的色彩度量方法,比如CIE。2,人可见的光,只占一段狭窄的电磁波谱,大致对应于380~780nm的范围。如下图所示,也就是说,还有大量的物理信息,是人眼无法观察到的,但是可以通过其他的

2014-07-07 16:31:04 1597

转载 如何减小与“大牛”的差距

为什么同样的时间有的人可以漂亮的完成工作,而有些人废了很大的力气也没有完成?前者我们常常称之为“大牛”,后者我们常常叫他们“菜鸟”。当然“大牛”都是相对而言的,“大牛”也不可能方方面面都非常厉害,换句话说大牛也不一定会沙王摇大,也不一定会船长放水。所谓的“大牛”他们只是在某些方面比我们强而已。但是值得注意的是,学习能力很强,效率普遍很高是一般“大牛”的共同特点。是哪些因素造成了我们

2014-04-08 11:18:00 510

转载 给年轻程序员的几句话

我收到了不少新手的来信,他们都希望能成长为一名真正的程序员。我绝对不是第一个谈论这个话题的人,所以,我不知道应该做哪方面的补充。不管怎样,下面的是一些一直记在我心头的、有必要读一下的建议:找其他开发人员合作开发。我们正处在科技历史上第一个绝好的时代,你几乎不用在意在哪工作、为谁工作。只要你有一个还过得去的网络,你就可以和另外一个在世界任何角落里的人一起来完成

2014-04-02 15:36:23 523

转载 程序员都不读书,但你应该读

程序员都不读书,但你应该读Posted in 心得体会 | 18 Comments问答网站stackoverflow.com的一个主要功能体现就是:软件开发人员无需再从书本上学习编程,就像Joel所说的:程序员看起来都不再读书。市场上编程方面书籍的数量和编程从业人数相比来少的可怜。2004年在《The Shlemiel Way of Software》一书中Joel也表达了相同的观点:大部分的人都

2014-04-02 15:29:33 562

转载 HALCON基础知识

1. 语法范式 Syntax Style 1.1. 基本格式1.1.1. 算子格式算子(输入图像参数:输出图像参数:输入控制参数:输出控制参数)其中四个参数任意一个可以为空e.g.1.threshold(Image : Region : MinGray, MaxGray : ) ** threshold算子,1 Image Para input : Image ; 2 Im

2013-11-11 09:57:38 3793

转载 二维数组内存的初始化

二维字符串数组的初始化-动态内存分配     昨天在用FBS200 指纹采集芯片采集到一个二维数组数据后,利用串口传输上来的数据是以十六进制的数据格式表示的二维矩阵,比如“FF” 、“BD” 、“5C ”等等这样的形式,而对于一幅灰度图像,一般都是在0 ~255 之间的数据来表示其亮度值,因此想通过二维字符串数组来对采集过来的数据进行转化显示。但在动态分配一个 char **str 

2013-08-21 10:42:11 977

转载 数组内存的动态开辟和释放

在C++中实现变长数组 一般来说,有三种方法来申请多维数组:C的malloc/Free    C++的new/delete    STL容器Vector1.变长一维数组 这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做: //文件名:   array01.cpp #includ

2013-08-21 10:34:43 1113

转载 常用算法经典代码(C++版)

一、快速排序void qsort(int x,int y) //待排序的数据存放在a[1]..a[n]数组中  {int h=x,r=y;   int m=a[(x+y)>>1]; //取中间的那个位置的值   while(h{while (a[h]      while (a[r]>m) r--; //比中间那个位置的值大,循环直到找一个比中间那个值小的      i

2013-08-20 21:25:18 537

转载 利用其它widthStep方法把interest_img的所有像素值增加1

#include "stdafx.h"#include #include int main(int argc, char** argv){    IplImage* interest_img;    CvRect interest_rect;    if( argc == 7 && ((interest_img=cvLoadImage(argv[1],1)) !=

2013-08-20 11:36:38 690

转载 图像的遍历和访问

IplImage是OpenCV中CxCore部分基础的数据结构,用来表示图像,其中Ipl是Intel Image Processing Library的简写。以下是IplImage的结构分析(来自OpenCV中文网站:http://www.opencv.org.cn/index.php/Cxcore%E5%9F%BA%E7%A1%80%E7%BB%93%E6%9E%84#IplImage)

2013-08-20 11:28:47 449

原创 openCV 图像和矩阵的创建和访问

cvArrcvMat 创建 五种方式,只分配具体空间,并没有付具体的值。  1, CvMat* cvCreateMat(int rows,int cols,int type);(分配内存,没有数据,包括文件头和文件体) 只创建文件头,不分配数据区的内存  2,CvMat* cvCreateMatHeader(int rows,int cols,int type);  3, Cv

2013-08-20 11:14:18 594

原创 openCV的数据类型及结构

C版本的结构:结构体      基本结构结构成员意义CvPointint x, y图像中的点CvPoint2D32ffloat x, y二维空间中的点CvPoint3D32ffloat x, y, z三维空间中的点

2013-08-20 10:06:19 360

五子棋程序代码 C++实现

五子棋的C++程序五子棋的C++程序五子棋的C++程序五子棋的C++程序

2011-05-12

空空如也

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

TA关注的人

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