- 博客(35)
- 资源 (13)
- 收藏
- 关注

原创 基于OTSU算法和基本粒子群优化算法的双阈值图像分割
OTSU自适应阈值求法与粒子群算法的合作,将OTSU算法作为粒子群算法的适应值函数,来计算每个粒子的适应度与最优阈值相比较,经过3000次迭代最后取得优化后的阈值原图:经过联合算法优化的双阈值为90 ,140将背景像素置0:效果图:利用所取得的阈值就可以将图像
2011-09-04 21:53:37
7072

原创 一种关于人脸五官位置识别的初步检测方法
本文讲述的是一种人脸五官如眉毛,眼睛,鼻子,嘴巴的位置的初步检测,本文是从轮廓入手检测五官位置的。 在人脸区域中,眉毛,眼睛,鼻子,嘴巴周围的灰度特征与肤色的灰度特征有较大的不同,根据这个特点,即可以通过两次轮廓提取,一次阈值分割,一次取反操作最终锁定五官轮廓的位置。
2011-08-27 16:04:22
16826
3

原创 动态跟踪手的状态模拟飞行游戏
我看过一个学长做过这个,自己也想着做一下,并且在演示效果上做了一些改变,总共可以识别五种状态,手向右转对应“the plane turn right”,手向左转对应“the plane turn left”,手向上抬起但在左右方向上没有变化“the plane take off”
2011-08-18 17:48:50
1346

原创 几种排序算法(面试时经常要考的)
第一种:冒泡排序法算法思想:首先将第一个记录的关键字与第二个记录的关键字进行比较,若为逆序,则交换这两个记录的值,然后比较第二个记录和第三个记录的关键字,以此类推,直至第n-1个和第n个记录的关键字比较过为止;至此第一趟冒泡排序完成,对前n-1个记录的关键字按照第一趟的冒泡排
2011-08-18 16:58:05
6842

原创 一个灰度级变换的算法
直方图均衡化算法1.将灰度图直方图化,计算各个像素级的像素数目2.形成累积直方图3.建立新的亮度查找表程序源代码:#include "stdafx.h"#include "cv.h"#include "highgui.h"#include "cxc
2011-08-14 16:28:43
2973
原创 一种基于图像对比度的去雾方法
一般情况下无雾图像在大部分的行上像素的变化应该是蛮剧烈的,但是如果是有雾的话,每行像素之间的像素差就会有很大程度的缩小,甚至几乎一样 而且有雾图像可以认为是无雾图像与灰白色素的加权平均得到,在本文中,不能去顶灰白像素值是多少,可以近似的认为是有雾图像像素加20左右,而
2011-10-02 17:51:11
3959
原创 双人五子棋改进版
这个只是在上次的版本上多加了一些功能,只能说上次的功能不够完善 这个版本添加了以下两个功能:1.悔棋2.自检测功能,就是检测当前所要下子的位置是不是已经有子了,这样就避免在已经有子的地方再下子的情况了 一张演示图片:(好玩而已) 源代码下载网址
2011-09-17 19:03:09
855
原创 最大子段问题 分治算法
分治算法就是将一个问题分解成若干个小问题,对若干个小问题分别求解,最后在合并起来最大子段问题课以分成三种情况1.数组a[1-n](即数组前1至n个元素) 的最大子段和a[1-n/2]的最大子段相同2数组a[1-n](即数组前1至n个元素) 的最大子段和a[n/2+1-
2011-09-16 16:09:58
2226
原创 基于opencv与MFC实现的双人五子棋
之所以给他取名双人五子棋,是因为这个程序实现的功能并不具备AI(人机对弈)功能,只能由两个玩家自己操作,棋盘显示部分是基于opencv实现的。其实只是一个很简单的程序,如果说有些难度的话,就是在棋盘上是否有哪一方五个子连成一条线取得胜利的结果判断上。而且此程序容易扩展成多人下
2011-09-14 18:32:46
2574
1
原创 VC爱好者 - NeHe OpenGL 前六课总结
这是VC爱好者 - NeHe OpenGL教程前六课源代码的总结,我觉得这个教程结合实例讲解,是初学opengl的同学不错的选择前六课分别介绍的是窗口创建,画多边形,添加颜色,旋转,3D空间还有纹理的映射,我将教材上的源代码总结起来组成了一个完整的程序源代
2011-09-11 14:51:02
877
原创 一种细化算法及其与opencv的实现
是根据图像中像素点得八个相邻点得情况,得到一个索引值,然后查表,如果为0怎保留该点,否则删除算法代码:#include "stdafx.h"#include "cv.h"#include "highgui.h"#include "cxcore.h"#inc
2011-09-07 14:01:27
6499
1
原创 一款自制的视频录制软件
是利用opencv库的,平时自己需要录制东西,但是网上大部分的软件只录制屏幕,不能录制摄像头视屏,所以自己动手弄了个不是特别好用,但也讲究这凑合程序源代码:http://download.youkuaiyun.com/source/3578833
2011-09-06 11:31:03
1189
原创 动态手势识别翻页以及计数
以前有个学长做过这个小项目,我和他的判断手势走向的方法不一致,也是基于相邻帧的帧差,但是我用的方法是记录下每次差分图像倒数第十行的从左到右扫描的第一个白色像素点得位置,直至没有白色像素点,并保存扫描的记录,最后就会得到手的运动方向的点得集合,从而就可以判断手是向那一边移动的我
2011-09-03 14:20:35
2297
原创 三次一元方程组 基本粒子群算法
例如本文中我求解x-3y+z+2=0;3x-4y+z+2=0;2x-3y+z+1=0;这个三元一次方程组的解以预测解(x , y , z)为粒子,取15个粒子数,还定义一个速度二维数组,并以随机数初始化 // 基本粒子群算法求三元一次方程组.cpp
2011-09-02 21:19:03
2432
原创 一道程序员面试题
输出和为一个给定整数的所有组合:如 n=5;就要输出所有两个整数加起来等于5的组合,但是不能重复,应该输出0,5;1,4;2,3; 程序:#include int main(void){usigned long int i,j,k;sc
2011-08-14 15:16:42
604
原创 手势模拟赛车
这个是我看到我一个学长做了这个玩意以后,我也想做着玩一下,我不知道他是怎么做的,但是我的想法很简单,对图像进行处理后,找到图像最大的两个轮廓所在的地方即是两个手的位置,然后比较两个矩形的Y轴坐标,比大小,就可知道谁在前谁在后了效果演示(有点卡):http://v.youku.
2011-08-12 11:42:33
780
原创 Learning opencv中的一个基于级联的Hear分类器的人脸检测
这是opencv中的一个源程序,基于级联的Hear分类器的检测效果图: 稍微修改注释后的源代码:#include "stdafx.h"#include "cv.h"#include "highgui.h"#include #include
2011-08-11 16:43:23
1700
原创 手势控制鼠标的操作(不指屏幕实现简单触屏)
这个是通过对手势的识别来控制鼠标的操作,1.当伸出一根手指是,鼠标随着手的移动而移动2.当伸出两根手指时,模拟鼠标单击左键3.当伸出三根手指时,模拟鼠标右键单击检测手指数其实很简单,对手所在的区域进行行扫描,得到的黑白间隔数最多的就是手指所在一行,除以2得到的就是
2011-08-11 11:33:33
6613
1
原创 使用vs2008出现未能创建.net frameworks propertygrid组件的解决方法
当在使用vs2008时,点击项目-》属性-》任意选项出现 “未能创建.NET Frameworks PropertyGrid组件,请确定是否正确安装.Net FrameWorkers组件”时解决方法点击开始-》所有程序-》Microsoft visual 2008-》vs20
2011-08-08 17:28:10
6287
原创 手写数字识别
这几天在想这做字符识别方面的程序,看了很多论文,但是发现论文上的几乎用处都不是特别的大,理论一大堆,但是用在程序里面则很难实现,看到有些论文上说用连码法,但是连码法对结构的变化太敏感了,但是也从一些论文里获得了一些灵感,我采用的是网格匹配法,准备工作采集样本,得到了样本的网格
2011-08-05 20:23:01
2250
1
原创 链码序列法在轮廓匹配上的应用分析
本来是想用链码序列法座字符识别的,但是经过再三的分析以及程序采样后发现,链码序列法对轮廓的变化十分敏感,不适宜用在字符识别尤其是手写字符识别上 。链码序列法一般有有四链码和八链码两种,具体图形表述如下:由于每个物体的轮廓的都有走向,即可链码序列(四链法由0-3组成的序
2011-08-04 15:38:30
4085
原创 静态手势识别控制游戏方向
这个主要通过的是静态的手势识别,从而根据判断得到的结果调用模拟键盘相应的W,A,S,D的按下与弹起的API函数,从而实现通过手势即可控制游戏中人物的跑位,和行驶方向。由于自己的电脑很差,运行其来很卡,我就以在终端输出“the car run forward(back,right,
2011-08-02 16:33:37
3447
1
转载 步态识别介绍
步态识别是一种新兴的生物特征识别技术,旨在通过人们走路的姿态进行身份识别,与其他的生物识别技术相比,步态识别具有非接触远距离和不容易伪装的优点。在智能视频监控领域,比面像识别更具优势人类自身很善于进行步态识别,在一定距离之外都有经验能够根据人的步态辨别出熟悉的人。步态识别的输
2011-07-31 22:19:57
14352
1
原创 人民币(纸币)检测
其实原理很简单,就是利用不同面额的纸币,其大小不一样来检测的,这里二值化灰度图的阈值就是通过上篇的OSTU自适应阈值算法获得的阈值,效果非常不错,这做检测之前,自己写了个采样程序,分别得到不同面额纸币的面积,这里有点局限的就是,摄像头和纸币摆放的位置要相对固定,否则会影响检测效果
2011-07-31 19:18:04
3002
原创 OTSU一维算法概述
OTSU一维算法,我自己的理解是自适应阈值分割法,通过对灰度图的处理自行得到一个最佳的阈值,并最后用这个阈值二值化灰度图,参考了商丘师范学院的胡颖老师的>一文,但是我用的时候效果不是很理想,于是自己进行了稍微的变动,OTSU算法:就是计算出灰度图最佳阈值的算法1.先对灰度
2011-07-31 18:39:51
12414
原创 帧差发去除背景类肤色影响的肤色检测法
平常进行肤色检测时会经常碰到有背景有类肤色的影响,对肤色检测的效果有很大的影响。本文通过相邻帧图像的帧差,再对得到的帧差图进行阈值分割处理就会得到图像中运动的部分,将图像中运动的部分设置为感兴趣的域,在对运动的部分进行阈值分割算法,分割出运动区域的肤色区域,如手,脸等,这样的话就
2011-07-30 16:23:38
1840
转载 网络编程笔记
二种线程同步的方式---事件对象事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件对象是一个自动重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。有两种不同类型的事件对象,一种是人工重置的事件,另一种是自动重置的事件。当
2011-07-24 13:04:40
793
原创 嵌入式linux(内核为linux 2.6.30.4)开发中遇到的一些问题解决方法
1.设置环境变量gedit /etc/profile再在文本中添加export PATH="$PATH:路径名"保存后到shell执行source /etc/profile使信设置的环境路径生效2.静态编译格式gcc/arm-linux-gcc -static -o 输出文件名
2011-07-24 12:56:59
1616
原创 编程时出现的ERROR LINK2019的解决方法
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用E:\c++\Projects\time\Debug\time.exe : fatal error LNK1120: 1 个无法解析的外部命令生成
2011-07-24 12:48:08
17899
原创 虚拟机red hat linux 下现实USB共享
1.fdisk -l /dev/sd* fdisk -l 列出指定设备的分区表信息。由于usb盘是被模拟为scsi设备访问,所以会被自动命名为sd*。 通常这一步就能找到U盘,如果U盘有指示灯也会亮,表示被找到。 2.如果执行上一个命令没有反应,或者某些信息显示模块没有加入 可以
2011-07-24 12:45:01
1229
原创 空间抓取
其实这个项目技术含量也不是特别高,首先找到自己的手,让手进入图片的左上区域,抓取图片的左上部分,让其跟着自己的手移动首先通过肤色检测,这里我用的是YCrCb的Cb通道进行的肤色检测,得到最大轮廓,一般就是手的区域了。让手移动到窗口(10 , 10 , 100 ,100)的矩形范围内,截取指定图片的这一部分,让其跟着手同步运动,而远图像的那部分变成黑色,造成一种那部分被抓取了的现象但是效果有点不好,
2011-07-02 17:16:08
601
原创 opencv 空间涂鸦
这是我在用YCrCb通道进行肤色检测获得手的基本区域后做的一个空间涂鸦的小软件,其实用HSV模式也可以进行肤色检测,但是效果没有用YCrCb通道检测的好,所以在这里我用的是YCrCb通道,可以涂鸦和擦除,但是由于受光线影响比较大,所以效果不是特别的好,贴上来希望高手们多给点意见,多指导下小弟。效果演示视屏:http://v.youku.com/v_show/id_XMjc3NDk5NDAw.h
2011-06-19 15:12:00
934
原创 基于opencv手控图片缩放
至于为什么要做这个小玩意,是因为之前有个学长做过,他也是学这个的,所以就想自己也做一下看能不能做出来,最后虽然,效果出来了,但不是很理想,原理很简单,就是利用远近不同,手在图像上的像素面积的大小也会改变,近则大,远则小,这也是学长给我的想法。具体的步骤如下 一:首先进行阈值分割,找到手所在的轮廓,其实可以用肤色检测出手的轮廓,在这里我没有用,如果用的话,HSV图像的话取H通道比较好,如
2011-06-17 17:42:00
1700
原创 利用opencv做分屏显示
学opencv时间不长,但又比较喜欢玩,看以前电视上会有那种一个屏幕上显示多幅图像的玩意,感觉很好玩,比较好奇,自己利用opencv做了一个简单的分屏显示的小程序其实很简单,就是对数据结构进行的操作,说到底就是对指针的操作,利用cvGetCols函数分别将两幅图像的数据分别放到自己创建的一个CvMat数据矩阵中,这样就可以在一个窗口中将两幅图像le 下面是具体的程序实现,程序
2011-06-15 16:22:00
3127
原创 基于背景差分的流量监测
初学opencv,这是我做的第一个小项目,其实原理很简单,我就贴出来与大家分享下,希望能对新手有些帮助,但是这个小项目还不是很成熟,希望大神们可以踊跃的提出建议。 这个项目其实和运动物体的检测很相似,只是在其基础上做了一些改进,具体的步骤: 一。取第一帧图像作为背景图二.取后来的每一帧与第一帧进行差值运算得到差分图,对差值图进行阈值处理,三。调用求二值图像轮廓的函
2011-06-15 15:58:00
772
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人