自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 opencv:边缘检测之kirsch算子

采用八个模板来处理图像的检测图像的边缘,运算量比较大。8个3x3模板如下:通过矩阵变换发现经过kirsch算子得到的像素值直接的关系,事实上需要直接由邻域像素点计算得到的只有p0,,因此可以大大减少计算量。//kirsch算子滤波void kirsch(const IplImage* src, CvMat* dst){

2015-04-04 16:59:49 7792 2

原创 openmp之互斥锁

openmp并行程序设计时,经常会发生线程之间的竞争,即可能同时访问同一共享变量。当然如果共享变量在线程并发期间不改变值的话,同时读取共享变量不会产生任何问题,除非同时写该变量,则无法确定该线程间该变量的写顺序。    openmp中有一些同步机制可以避免线程竞争问题的发生。可以使用同步机制,使得线程只有执行到某个语句,才能继续执行后面的程序。在程序需要访问可能产生竞争的内存数据的时候,都需要

2014-11-06 08:28:39 1679

原创 matlab与C语言混合编程之openmp多线程

作为非MATLAB控,却选择MATLAB进行项目的研究,主要还是因为MATLAB使用起来实在太方便了。因此,它的缺陷也很明显,效率不高。内部定义的任何函数,如果我们使用C语言重写,效率一般都能得到一定的提升。    而对于复杂度更高的算法,则需要进一步使用并行编程的方法,比如多线程。那么,在我们使用MATLAB进行项目的主体框架设计后,如何调用使用C语言编写的代码呢?首先,C语言程序肯定需

2014-09-29 12:57:04 4329

原创 基数排序

对于基数排序不理解的可以看这篇文章:点击打开链接还有这篇关于计数排序、桶排序、基数排序的比较:点击打开链接基数排序与桶排序的不同:(1)桶排序是将数据映射成不同的桶,每个桶代表所有数据的一个子区间,然后在每个桶内使用O(nlogn)的排序方法,从从而减少元素之间的比较次数。当每个桶内只有一个元素时,完全消除元素之间的比较,从而时间复杂度能够达到O(n)。显然,这是用空间换时间的

2015-04-03 14:48:10 575

原创 leetcode1 : twosum

Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, whe

2015-03-08 13:48:26 522

原创 遗传算法的理解

遗传算法是一种启发式的随机多参数优化算法,能够解决多种寻优问题,如背包问题,求解函数极值点,图像配准参数优化,神经网络中的网络权系数的优化等等。     遗传算法可以说是模拟自然界种群的进化过程。根据达尔文进化理论,生物种群在世世代代的繁衍过程中,适应环境的优良特性会一代代遗传下去,不适应环境的特性则逐渐被淘汰。这里所说的特性是一种生物表现出来的特点,即表现型。表现型背后就是代表个体独一无二的

2015-02-02 14:15:22 1082

原创 C++:lambda表达式

在编程的过程中,一般通过函数指针或者函数对象(仿函数)来计算或者解决问题,如排序sort和移除操作remove_if的参数中都有相应的谓词函数。函数指针虽然语法开销小,但是不能在作用域内保持状态(can not retain state within a scope)。函数对象(仿函数)能够retain the state within a scope,但是有大的语法开销。    lambda

2014-10-23 10:19:40 660

原创 使用递归删除目录下的空文档和文件

#!/usr/bin/env python'递归法删除当前目录下的空文件'import osdef deleteEmptyFile(path): try: os.chdir(path) except WindowsError, e: print e return else: cwd = os.getc

2014-09-27 08:36:50 635

原创 反转单向链表

通过递归法反转一个单向链表,turnBack()为递归函数,head为最终保存的反向链表的头结点指针。

2014-09-25 16:21:50 638

原创 opencv:对比度扩张与灰度窗

1.Sobel算子在边缘检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 。与Prewitt算子相比,Sobel算子对于象素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。与Robert交叉算子相比,不会出现很多尖锐的孤立点。但是sobel算子对边缘定位不准确,边缘的宽度往往不是一个像素。Sobel算子另一种

2014-09-03 09:30:09 1290

原创 同态滤波

是一种频域率滤波方法。通过分离照射分量和反射分量,将分别对应的低频和高频信息分离。图像的照射分量通常由慢的空间变化来表征,而反射分量往往引起突变,特别是不同物体的连接部分。通过滤波器函数中的γH和γL(γH为对应的高频系数,γL为对应的低频系数,使得γH > 1且γL

2014-07-10 20:42:35 1127

原创 图像的γ校正

1.修改前的版本:gamma校正完是否需要将图像归一化到0~255,为什么整幅图像的归一化结果都是0。//gamma校正y,error!?!?!?void gamma_adjust(IplImage* src, IplImage* dst, const double& gamma){assert(src->depth == IPL_DEPTH_8U && src->nChann

2014-07-09 18:12:10 1261

原创 对话框设计1

一、模态与非模态对话框区分模态对话框和非模态对话框,前者启动时,主视窗处于无效状态,除非关闭该对话框;后者启动时对主视窗没有影响。模态对话框的创立:创建对话框资源,生成与资源相关的对话框类。首先,view.cpp中添加对话框头文件#include "CtestDlg.h" 1.  假设CTestDlg是一个对话框类,则   CTestDlg dlg;   dlg.domod

2014-06-18 18:09:09 632

原创 MFC 定时器

setTimer()设置定时器,确定相应函数onTimer()有效,参数第一个为定时器句柄,能够用来确定相应的操作。而onTimer()函数中可以设置switch(定时器句柄)来确定相应的是哪一个定时器操作。    killTimer(句柄)函数使得句柄对应的定时器无效。你可以把它放在鼠标相应函数中,通过鼠标控制定时器的相应,但是还需要设置一个bool型变量保存当前定时器对应的状态。

2014-05-28 20:19:06 843

空空如也

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

TA关注的人

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