![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器视觉
文章平均质量分 54
qinjianganying
晃眼间,大学三载已过,在这三年里我改变了很多。现在的我沟通无障碍,有一定的技术能力,并且为人和善,平常会站在别人的角度考虑别人的感受,所以与人相处和谐,并且自学能力较强,自学通过国家计算机二级,并且学习了MFC,C#等,还自学了嵌入式系统,并作出了成果,因为我为了自己热爱的东西,会坚持不懈,努力做到最好,但是这也导致了我的一个缺点,平时做事太执着,出事方法不够灵活,正在努力改变中。
展开
-
opencv 空间涂鸦
这是我在用YCrCb通道进行肤色检测获得手的基本区域后做的一个空间涂鸦的小软件,其实用HSV模式也可以进行肤色检测,但是效果没有用YCrCb通道检测的好,所以在这里我用的是YCrCb通道,可以涂鸦和擦除,但是由于受光线影响比较大,所以效果不是特别的好,贴上来希望高手们多给点意见,多指导下小弟。效果演示视屏:http://v.youku.com/v_show/id_XMjc3NDk5NDAw.h原创 2011-06-19 15:12:00 · 898 阅读 · 0 评论 -
基于OTSU算法和基本粒子群优化算法的双阈值图像分割
OTSU自适应阈值求法与粒子群算法的合作,将OTSU算法作为粒子群算法的适应值函数,来计算每个粒子的适应度与最优阈值相比较,经过3000次迭代最后取得优化后的阈值原图:经过联合算法优化的双阈值为90 ,140将背景像素置0:效果图:利用所取得的阈值就可以将图像原创 2011-09-04 21:53:37 · 6943 阅读 · 1 评论 -
帧差发去除背景类肤色影响的肤色检测法
平常进行肤色检测时会经常碰到有背景有类肤色的影响,对肤色检测的效果有很大的影响。本文通过相邻帧图像的帧差,再对得到的帧差图进行阈值分割处理就会得到图像中运动的部分,将图像中运动的部分设置为感兴趣的域,在对运动的部分进行阈值分割算法,分割出运动区域的肤色区域,如手,脸等,这样的话就原创 2011-07-30 16:23:38 · 1802 阅读 · 0 评论 -
手势控制鼠标的操作(不指屏幕实现简单触屏)
这个是通过对手势的识别来控制鼠标的操作,1.当伸出一根手指是,鼠标随着手的移动而移动2.当伸出两根手指时,模拟鼠标单击左键3.当伸出三根手指时,模拟鼠标右键单击检测手指数其实很简单,对手所在的区域进行行扫描,得到的黑白间隔数最多的就是手指所在一行,除以2得到的就是原创 2011-08-11 11:33:33 · 6496 阅读 · 6 评论 -
动态手势识别翻页以及计数
以前有个学长做过这个小项目,我和他的判断手势走向的方法不一致,也是基于相邻帧的帧差,但是我用的方法是记录下每次差分图像倒数第十行的从左到右扫描的第一个白色像素点得位置,直至没有白色像素点,并保存扫描的记录,最后就会得到手的运动方向的点得集合,从而就可以判断手是向那一边移动的我原创 2011-09-03 14:20:35 · 2239 阅读 · 0 评论 -
一种细化算法及其与opencv的实现
是根据图像中像素点得八个相邻点得情况,得到一个索引值,然后查表,如果为0怎保留该点,否则删除算法代码:#include "stdafx.h"#include "cv.h"#include "highgui.h"#include "cxcore.h"#inc原创 2011-09-07 14:01:27 · 6441 阅读 · 2 评论 -
Learning opencv中的一个基于级联的Hear分类器的人脸检测
这是opencv中的一个源程序,基于级联的Hear分类器的检测效果图: 稍微修改注释后的源代码:#include "stdafx.h"#include "cv.h"#include "highgui.h"#include #include原创 2011-08-11 16:43:23 · 1653 阅读 · 0 评论 -
基于背景差分的流量监测
初学opencv,这是我做的第一个小项目,其实原理很简单,我就贴出来与大家分享下,希望能对新手有些帮助,但是这个小项目还不是很成熟,希望大神们可以踊跃的提出建议。 这个项目其实和运动物体的检测很相似,只是在其基础上做了一些改进,具体的步骤: 一。取第一帧图像作为背景图二.取后来的每一帧与第一帧进行差值运算得到差分图,对差值图进行阈值处理,三。调用求二值图像轮廓的函原创 2011-06-15 15:58:00 · 742 阅读 · 0 评论 -
手势模拟赛车
这个是我看到我一个学长做了这个玩意以后,我也想做着玩一下,我不知道他是怎么做的,但是我的想法很简单,对图像进行处理后,找到图像最大的两个轮廓所在的地方即是两个手的位置,然后比较两个矩形的Y轴坐标,比大小,就可知道谁在前谁在后了效果演示(有点卡):http://v.youku.原创 2011-08-12 11:42:33 · 751 阅读 · 0 评论 -
一个灰度级变换的算法
直方图均衡化算法1.将灰度图直方图化,计算各个像素级的像素数目2.形成累积直方图3.建立新的亮度查找表程序源代码:#include "stdafx.h"#include "cv.h"#include "highgui.h"#include "cxc原创 2011-08-14 16:28:43 · 2929 阅读 · 0 评论 -
动态跟踪手的状态模拟飞行游戏
我看过一个学长做过这个,自己也想着做一下,并且在演示效果上做了一些改变,总共可以识别五种状态,手向右转对应“the plane turn right”,手向左转对应“the plane turn left”,手向上抬起但在左右方向上没有变化“the plane take off”原创 2011-08-18 17:48:50 · 1322 阅读 · 1 评论 -
一种基于图像对比度的去雾方法
一般情况下无雾图像在大部分的行上像素的变化应该是蛮剧烈的,但是如果是有雾的话,每行像素之间的像素差就会有很大程度的缩小,甚至几乎一样 而且有雾图像可以认为是无雾图像与灰白色素的加权平均得到,在本文中,不能去顶灰白像素值是多少,可以近似的认为是有雾图像像素加20左右,而原创 2011-10-02 17:51:11 · 3892 阅读 · 0 评论 -
基于opencv手控图片缩放
至于为什么要做这个小玩意,是因为之前有个学长做过,他也是学这个的,所以就想自己也做一下看能不能做出来,最后虽然,效果出来了,但不是很理想,原理很简单,就是利用远近不同,手在图像上的像素面积的大小也会改变,近则大,远则小,这也是学长给我的想法。具体的步骤如下 一:首先进行阈值分割,找到手所在的轮廓,其实可以用肤色检测出手的轮廓,在这里我没有用,如果用的话,HSV图像的话取H通道比较好,如原创 2011-06-17 17:42:00 · 1677 阅读 · 0 评论 -
利用opencv做分屏显示
学opencv时间不长,但又比较喜欢玩,看以前电视上会有那种一个屏幕上显示多幅图像的玩意,感觉很好玩,比较好奇,自己利用opencv做了一个简单的分屏显示的小程序其实很简单,就是对数据结构进行的操作,说到底就是对指针的操作,利用cvGetCols函数分别将两幅图像的数据分别放到自己创建的一个CvMat数据矩阵中,这样就可以在一个窗口中将两幅图像le 下面是具体的程序实现,程序原创 2011-06-15 16:22:00 · 3069 阅读 · 0 评论 -
空间抓取
其实这个项目技术含量也不是特别高,首先找到自己的手,让手进入图片的左上区域,抓取图片的左上部分,让其跟着自己的手移动首先通过肤色检测,这里我用的是YCrCb的Cb通道进行的肤色检测,得到最大轮廓,一般就是手的区域了。让手移动到窗口(10 , 10 , 100 ,100)的矩形范围内,截取指定图片的这一部分,让其跟着手同步运动,而远图像的那部分变成黑色,造成一种那部分被抓取了的现象但是效果有点不好,原创 2011-07-02 17:16:08 · 566 阅读 · 0 评论 -
编程时出现的ERROR LINK2019的解决方法
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用E:\c++\Projects\time\Debug\time.exe : fatal error LNK1120: 1 个无法解析的外部命令生成原创 2011-07-24 12:48:08 · 17801 阅读 · 0 评论 -
网络编程笔记
二种线程同步的方式---事件对象事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件对象是一个自动重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。有两种不同类型的事件对象,一种是人工重置的事件,另一种是自动重置的事件。当转载 2011-07-24 13:04:40 · 759 阅读 · 0 评论 -
步态识别介绍
步态识别是一种新兴的生物特征识别技术,旨在通过人们走路的姿态进行身份识别,与其他的生物识别技术相比,步态识别具有非接触远距离和不容易伪装的优点。在智能视频监控领域,比面像识别更具优势人类自身很善于进行步态识别,在一定距离之外都有经验能够根据人的步态辨别出熟悉的人。步态识别的输转载 2011-07-31 22:19:57 · 14097 阅读 · 3 评论 -
手写数字识别
这几天在想这做字符识别方面的程序,看了很多论文,但是发现论文上的几乎用处都不是特别的大,理论一大堆,但是用在程序里面则很难实现,看到有些论文上说用连码法,但是连码法对结构的变化太敏感了,但是也从一些论文里获得了一些灵感,我采用的是网格匹配法,准备工作采集样本,得到了样本的网格原创 2011-08-05 20:23:01 · 2209 阅读 · 1 评论 -
OTSU一维算法概述
OTSU一维算法,我自己的理解是自适应阈值分割法,通过对灰度图的处理自行得到一个最佳的阈值,并最后用这个阈值二值化灰度图,参考了商丘师范学院的胡颖老师的>一文,但是我用的时候效果不是很理想,于是自己进行了稍微的变动,OTSU算法:就是计算出灰度图最佳阈值的算法1.先对灰度原创 2011-07-31 18:39:51 · 12325 阅读 · 2 评论 -
人民币(纸币)检测
其实原理很简单,就是利用不同面额的纸币,其大小不一样来检测的,这里二值化灰度图的阈值就是通过上篇的OSTU自适应阈值算法获得的阈值,效果非常不错,这做检测之前,自己写了个采样程序,分别得到不同面额纸币的面积,这里有点局限的就是,摄像头和纸币摆放的位置要相对固定,否则会影响检测效果原创 2011-07-31 19:18:04 · 2921 阅读 · 0 评论 -
一种关于人脸五官位置识别的初步检测方法
本文讲述的是一种人脸五官如眉毛,眼睛,鼻子,嘴巴的位置的初步检测,本文是从轮廓入手检测五官位置的。 在人脸区域中,眉毛,眼睛,鼻子,嘴巴周围的灰度特征与肤色的灰度特征有较大的不同,根据这个特点,即可以通过两次轮廓提取,一次阈值分割,一次取反操作最终锁定五官轮廓的位置。原创 2011-08-27 16:04:22 · 16733 阅读 · 6 评论 -
静态手势识别控制游戏方向
这个主要通过的是静态的手势识别,从而根据判断得到的结果调用模拟键盘相应的W,A,S,D的按下与弹起的API函数,从而实现通过手势即可控制游戏中人物的跑位,和行驶方向。由于自己的电脑很差,运行其来很卡,我就以在终端输出“the car run forward(back,right,原创 2011-08-02 16:33:37 · 3389 阅读 · 2 评论 -
链码序列法在轮廓匹配上的应用分析
本来是想用链码序列法座字符识别的,但是经过再三的分析以及程序采样后发现,链码序列法对轮廓的变化十分敏感,不适宜用在字符识别尤其是手写字符识别上 。链码序列法一般有有四链码和八链码两种,具体图形表述如下:由于每个物体的轮廓的都有走向,即可链码序列(四链法由0-3组成的序原创 2011-08-04 15:38:30 · 4029 阅读 · 3 评论