图像处理
denghp83
我走得很慢但我从不后退飞蛾扑火唯光明故
展开
-
Kinect for Windows SDK开发入门
Kinect for Windows SDK开发入门(一):开发环境配置首先来看一下Kinect设备: 1. Kinect设备黑色的Kinect设备如下图:基座和感应器之间有一个电动的马达,通过程序能够调整俯仰角度,在上面的感应器中有一个红外投影仪,两个摄像头,四个麦克风和一个风扇。打开外面的盖子可以看到里面的构造:这些感应器用来捕捉RGB和深度数据,面对Kin转载 2013-05-18 23:35:37 · 5179 阅读 · 3 评论 -
利用智能识别技术,Google允许你直接搜索Google+图片库里的内容
上个星期,Google 为其图片体验进行了大范围的更新。今天 Google 又为我们带来了一个全新的功能:利用智能识别技术(computer vision 和 machine learning)为用户提供搜索自己 Goolge+ 图片库里的内容。 在 Google+ 内,你可以通过直接输入照片内容的方式进行搜索,比如落日、海滩或者自行车等。如果直接通过 Google 搜索来进行操作的话则需要在转载 2013-05-24 08:33:08 · 522 阅读 · 0 评论 -
从论文库上批量下载论文的代码
可以从数据库上批量下载论文的代码片段。要求论文编号必须连续。CString uri = dlg->m_strUrl + dlg->m_isNumber; CString pdfName; pdfName.Format("%07d", i); uri = uri + "/0" + pdfName + ".pdf?tp=&arnumber=" + pdfName + "&isnumbe原创 2013-05-27 15:18:05 · 429 阅读 · 0 评论 -
块标记c++代码
上研究生时写的代码,为了防止时间久了丢失,将它贴到网上。头文件:#include "cv.h"#include "cxcore.h"#include "highgui.h"#include using namespace std;class ConCompLabel{private: //传入参数(同时也是传出参数,最终的标记图) IplImage* bwImg;原创 2013-05-27 15:07:13 · 486 阅读 · 0 评论 -
比较牛的稳像算法
Image Stabilizer(原文地址:http://www.cs.cmu.edu/~kangli/code/Image_Stabilizer.html)Authors:Kang Li (kangli AT cs.cmu.edu)Steven Kang (sskang AT andrew.cmu.edu)Requires:Im转载 2013-05-29 18:23:01 · 838 阅读 · 0 评论 -
OpenCV 角点检测
#include #include "cv.h" #include "highgui.h" #define MAX_CORNERS 100 int main(void) { int cornersCount=MAX_CORNERS;//得到的角点数目 CvPoint2D32f corners[MAX_CORNERS];//输出角点集合 IplImage *srcIma转载 2013-06-14 08:53:26 · 382 阅读 · 0 评论 -
OpenCV 读取avi
#include "stdafx.h"#include #include #include #include using namespace std;int main(int argc, char** argv[]){int key=0;char* filename="D:/fruit.avi";CvCapture* capture = cvCreateFi转载 2013-06-14 11:06:30 · 341 阅读 · 0 评论 -
cvSetCaptureProperty 设置视频获取属性
cvSetCaptureProperty 设置视频获取属性 int cvSetCaptureProperty( CvCapture* capture, int property_id, double value );capture 视频获取结构。 property_id 属性标识符。可以是下面之一: CV_CAP_PROP_POS_MSEC - 从文件开始的位置,单转载 2013-06-14 11:24:25 · 494 阅读 · 0 评论 -
FAST特征点检测features2D
特征点检测和匹配是计算机视觉中一个很有用的技术。在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用。这一次先介绍特征点检测的一种方法——FAST(features from accelerated segment test)。很多传统的算法都很耗时,而且特征点检测算法只是很多复杂图像处理里中的第一步,得不偿失。FAST特征点检测是公认的比较快速的特征点检测方法,只利用周围像素比较的信息就可以转载 2013-06-14 13:56:48 · 481 阅读 · 0 评论 -
全新技术让Wi-Fi信号能够识别手势
威锋网 6 月 5 日消息,美国华盛顿大学的研究者们日前成功开发出了一种手势识别系统原型,有趣的是,它所使用的探测介质是 Wi-Fi 信号。 据介绍,这种新的系统被称为“WiSee”。当使用者在普通 Wi-Fi 信号下做动作时,WiSee 将识别因此产生的多普勒频移变化。这也就是说,即使人们不在设备面前使用它也没有问题。研究者称,只要信号够强,在隔壁房间内使用手势操作也完全没有问题。转载 2013-06-06 07:12:39 · 383 阅读 · 0 评论 -
使用vector的注意事项
vector的内存空间位置,是经常变动的。当程序发现之前分配的内存空间不够的时候,就会重新分配新的内存空间,并且将现有的数据拷贝到新的空间上,然后将旧的空间上的内容清除掉。因此很容易出现的问题是,调试的时候,发现原来所用的某一个vector成员的数据,突然消失了。这种情况很容易出现在push_back函数调用之后。因此在使用vector的时候,一定要格外留神这个缺陷。原创 2013-06-16 07:40:40 · 452 阅读 · 0 评论 -
OpenCV 绘制数组曲线
//用来显示曲线void ShowCurve(char* windowName, int* data, int num){ int maxValue = INT_MIN; for(int i = 0; i < num; i++) { if(data[i] > maxValue) { maxValue = data[i]; } }原创 2013-06-18 10:02:30 · 875 阅读 · 0 评论 -
使用opencv244出现的一个问题
错误如下:error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”,可以定位到,是opencv的问题。上网一查,都说是release下用了debug模式的库。搞了很久,然后在vs2010中,将库路径的staticLib这个文件夹去掉,就没事了。当前编译状态是debug模式。因此,估计staticLib这个文件夹里原创 2013-06-19 22:43:53 · 516 阅读 · 0 评论 -
cvNormalize用法
Normalize根据某种范数或者数值范围归一化数组.void cvNormalize( const CvArr* src, CvArr* dst,double a=1, double b=0, int norm_type=CV_L2,const CvArr* mask=NULL );src输入数组dst输出数组,支持原地运算a输出数组的最小/最大值转载 2013-06-20 18:39:25 · 467 阅读 · 0 评论 -
cvKMeans2:机器学习算法—K均值
K均值尝试找到数据的自然类别。用户设置类别个数,K均值迅速找到“好的”类别中心。“好的”意味着聚类的中心位于数据的自然类别中心。void cvKMeans2( const CvArr* samples, int cluster_count, CvArr* labels, CvTermCriteria termcrit );转载 2013-06-22 17:41:42 · 1866 阅读 · 1 评论 -
cvKmeans用法
#include "opencv2/highgui/highgui.hpp"#include "opencv2/core/core.hpp"#include using namespace cv;using namespace std;// static void help()// {// cout // "It ge原创 2013-06-22 18:49:35 · 612 阅读 · 0 评论 -
如何使用Kinect for windows SDK中的NUI(彩色图像获取)
前言微软于2011年6月16日推出的windows平台体感设备kinect的开发包beta版。尽管还有很多不足,许多功能都不完整,但是已经让我们这些期盼了半年多的程序员们兴奋不已了。我也是初次接触这个SDK,以前一直使用OpenNI。在使用过程中发现一些问题,整体构架什么的,SDK远不如OpenNI完善,甚至于SDK中的例子,也像是匆忙赶制出来的 -_-#好吧,我承认,即使这样,我也依转载 2013-07-08 11:29:28 · 455 阅读 · 0 评论 -
在list控件中添加行
//扫描文件夹,得到所有的flv视频的路径m_videoNameVec = ScanAllVideo(m_videoDir, CString(".flv"));//刷新videoListfor (int i = 0; i {m_listVideo.InsertString(i, m_videoNameVec[i]);}原创 2013-07-10 18:38:15 · 372 阅读 · 0 评论 -
用cvFlip实现图像翻转
水平图像转换,使用连续的水平转换和绝对值差检查垂直轴对称(flip_mode > 0)水平和垂直同时转换,用于连续的水平转换和绝对真理值差检查中心对称s(flip_mode 0)TAG: 图像翻转 cvFlip 左右翻转 上下翻转 #include #include #include #include int main(int arg转载 2013-06-24 18:56:29 · 369 阅读 · 0 评论 -
OTSU算法提取图像阈值的C语言实现
OTSU算法也称最大类间差法,有时也称之为大津算法,被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用。它是按图像的灰度特性,将图像分成背景和前景两部分。背景和前景之间的类间方差越大,说明构成图像的两部分的差别越大,当部分前景错分为背景或部分背景错分为前景都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。设灰转载 2013-06-24 18:56:55 · 438 阅读 · 0 评论 -
在MFC控件中显示opencv库中的图像或者视频
前两天拿到了一个在MFC中显示opencv图像的一个我们实验室以前毕业的学生的Demo, 但是他用的时候还是opencv1.X的版本呢,我新安装的opencv2.3.1的版本,所以这里遇到了一些问题,和大家分享一下。 没有具体研究过opencv ,但是opencv在MFC中显示图像需要用的一个叫做CvvImage的类的DrawToHDC()的函数,但是我在2.3.1下却怎么也没有找转载 2013-07-11 09:48:43 · 474 阅读 · 0 评论 -
MFC中键盘响应的两个问题
1、MFC中上下左右键的响应在普通的MFC窗口中可以用OnKeyDown()函数或者OnChar()函数来响应键盘消息。普通字符的响应很简单,但是键盘上下左右键的响应却没办法直接通过字符来实现,尝试了采用ASIC码代替字符也没有成功,以下是一种正确的使用方法:switch(nChar) { case 'i': ca转载 2013-07-11 09:53:04 · 410 阅读 · 0 评论 -
warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:529)
OpenCV报错:warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:529)capture device failed to open!这种错误,都是视频文件的输入路径出错了,好好检查路径!解决:更改输入video文件的路径,确定正确后即运行成原创 2013-06-26 10:38:53 · 5036 阅读 · 5 评论 -
虚拟键值表
虚拟键十六进制值十进制值相应键盘或鼠标键VK_LBUTTON011鼠标左键VK_RBUTTON022鼠标右键VK_CANCEL033Ctrl-Break键VK_MBUTTON044鼠标中键VK_BAC转载 2013-07-12 17:06:46 · 374 阅读 · 0 评论 -
main函数的参数
C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。main(){...y1=f1(x1,x2);...}f1(int a,int b){....Y2=f2(x3,x4);....}f2转载 2013-06-28 10:06:24 · 333 阅读 · 0 评论 -
TinyXML:一个优秀的C++ XML解析器
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象转载 2013-06-28 15:59:24 · 300 阅读 · 0 评论 -
strcpy头文件
原型声明:extern char *strcpy(char* dest, const char *src);头文件:#include string.h>功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。转载 2013-06-28 10:07:17 · 1681 阅读 · 0 评论 -
用C++调用一个.exe文件
如果file1.txt file2.txt 是 yourexe.exe 的位置参数:C++调用system("yourexe.exe file1.txt file2.txt");如果file1.txt file2.txt 是 通过 对话,从键盘打入:(1)建一个文本文件,例如叫 my.inmy.in 的内容 有两行:file1.txtfile2.txt(2)C++调用syst转载 2013-06-28 15:00:03 · 398 阅读 · 0 评论 -
opencv读写xml文件
int sub_test_opencv_xml_write(void) { // 创建文件存储对象 CvFileStorage *fs=cvOpenFileStorage("test.xml",0,CV_STORAGE_WRITE); // 写注释 cvWriteComment(fs,"测试写XML文件",1);转载 2013-06-28 15:09:51 · 455 阅读 · 0 评论 -
使用ifstream和getline读取文件内容[c++]
假设有一个叫 data.txt 的文件, 它包含以下内容: Fry: One Jillion dollars.[Everyone gasps.]Auctioneer: Sir, that's not a number.数据读取, 测试 。以下就是基于 data.txt 的数据读取操作:#include iostream>#include fstr转载 2013-06-28 15:44:19 · 419 阅读 · 0 评论 -
VirtualAlloc
VC声明 LPVOID VirtualAlloc( LPVOID lpAddress, // region to reserve or commit SIZE_T dwSize, // size of region DWORD flAllocationType, // type of allocation DWORD flProtect // type of access pr转载 2013-07-15 11:28:25 · 394 阅读 · 0 评论 -
OpenMP中的任务调度
OpenMP中,任务调度主要用于并行的for循环中,当循环中每次迭代的计算量不相等时,如果简单地给各个线程分配相同次数的迭代的话,会造成各个线程计算负载不均衡,这会使得有些线程先执行完,有些后执行完,造成某些CPU核空闲,影响程序性能。例如以下代码:int i, j;int a[100][100] = {0};for ( i =0; i {for( j =转载 2013-07-16 13:51:57 · 350 阅读 · 0 评论 -
Edit控件文本自动换行
Edit控件属性里把Multiline和Want Return两项都选成True如果想使 超过边界(一定字数)自动换行显示 (实际上还是一行)则Edit控件属性里 Multiline 选成True ,Auto HScroll选成False(不打钩)原创 2013-07-16 19:08:59 · 430 阅读 · 0 评论 -
MFC控件——ListCtrl控件[翻译]
声明:1、本文为翻译文章,水平有限,错误之处,烦请指正([email protected])。2、使用VS2005,所以在某些细节上和原作者不太一样3、工程中使用图片和作者略有不同4、文章如有争议,以原作者文章为准5、转载请标明出处原文链接:http://www.functionx.com/visualc/controls/listcontrol.htm一、转载 2013-07-17 09:08:44 · 453 阅读 · 0 评论 -
mfc中滑动条的使用
滑动控件是Windows中最常用的控件之一。一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值。通常,在滑动控件附近一定有标签控件或编辑框控件,用于显示相应的值。滑动控件在应用程序中用途级为广泛,如在桌面的属性中就可以看到。为此,让我们一起来看一下它的实现方法。(1)在VC++ 6.0中新建一个对话框文档的工程。(2)打开资源管理器,在对转载 2013-07-16 19:29:09 · 339 阅读 · 0 评论 -
CListCtrl使用技巧
以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:win转载 2013-07-17 08:52:38 · 291 阅读 · 0 评论 -
LINK : fatal error LNK1104: 无法打开文件“LIBCD.lib”
出现这类问题一般是由于所运行的项目是VC6(或者vs2003)创建的,而后又用VS2005或者更高版本工具打开项目导致的,原因都是因为LIBCD.lib文件被更改了.要解决问题的话,只要在链接设置那里忽略它就没问题了。解决办法是:第一种方案:在项目-属性-链接器- 命令行 加 /nodefaultlib:libcd第二种方案:在项目-属性-链接器- 输入-忽略特定库加:LIBCD.li转载 2013-07-01 17:39:45 · 396 阅读 · 0 评论 -
常用汉字表
一 乙 二 十 丁 厂 七 卜 人 入 八 九 几 儿 了 力 乃 刀 又 三 于 干 亏 士 工 土 才 寸 下 大 丈 与 万 上 小 口 巾 山 千 乞 川 亿 个 勺 久 凡 及 夕 丸 么 广 亡 门 义 之 尸 弓 己 已 子 卫 也 女 飞 刃 习 叉 马 乡 丰 王 井 开 夫 天 无 元 专 云 扎 艺 木 五 支 厅 不 太 犬转载 2013-07-03 08:42:59 · 1848 阅读 · 0 评论 -
cvcapture常用的几个函数
cvgetcaputureproperty可以通过设置不同的方式,得到视频图像的宽度、高度、总帧数等。cvsetcaputureproperty通过设置当前帧,可以控制当前读取哪一帧,这样就可以不用等待,而直接跳过大量的中间帧,访问需要的帧。原创 2013-07-03 10:38:09 · 503 阅读 · 0 评论 -
使用cascadetraining时出现的一个小问题
报了一堆链接错误,说是cvboost等找不到。刚开始调试了半天找不到哪里的问题,后来发现其中有一行代码被注释了,打开之后,就没错误了。这行代码如下:#pragma comment(lib, "opencv_ml244d")看来cvboost这些东西都在ml库里面啊。原创 2013-07-03 16:05:07 · 296 阅读 · 0 评论