自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

转载 计算机视觉资源集

本文转载自:http://blog.163.com/pz124578@126/blog/static/235226942013102853226104一、特征提取Feature Extraction:·         SIFT [1] [Demo program][SIFT Library] [VLFeat]·         PCA-SIFT [2] [

2014-02-21 14:17:17 836

原创 CString转char数组

其他类型相互转换,请参考:http://www.cppblog.com/robinson119/archive/2007/04/26/22870.html

2013-11-26 20:31:45 916

原创 遍历/删除文件夹文件实例

将【C:\\Users\\HDaniel\\Desktop\\br】文件夹下的所有jpg图片文件缩放到高度为100像素,再保存到工程目录下。遍历文件夹:#include #include #include #include #include#include "string.h"#include void mian{ _finddata_t info[500];//该文件夹最多有500个文件 lo

2013-11-14 16:44:24 871

原创 手机识别项目之字符分割

在OPENCV中运用K均值聚类算法:http://www.opencvchina.com/thread-1086-1-1.html;http://blog.csdn.net/xwu6614555/article/details/8568030;http://blog.csdn.net/chenxin_130/article/details/5877831cvmat的理解:http://blog.c

2013-11-14 16:44:22 835

原创 OpenCV_轮廓的查找、表达、绘制、特性及匹配

关于轮廓的一篇非常详细的文章:http://www.cnblogs.com/slysky/archive/2011/10/14/2212227.htmlhttp://blog.csdn.net/augusdi/article/details/9011477 最小包围盒http://blog.sina.com.cn/s/blog_522388f90100r7u6.html

2013-11-14 16:44:20 802

原创 图像几何变换:旋转,缩放,斜切

在CSDN上看到一篇关于图像几何变换的文章,写得很好。收藏!http://blog.csdn.net/xiaowei_cqu/article/details/7616044

2013-11-14 16:44:17 1400 1

原创 RGB、Lab、YUV、HSI、HSV等颜色空间的区别

OPENCV中的HSV空间:http://www.lvzejun.cn/?p=533RGB颜色空间RGB(red,green,blue)颜色空间最常用的用途就是显示器系统,彩色阴极射线管,彩色光栅图形的显示器 都使用R、G、B数值来驱动R、G、B 电子枪发射电子,并分别激发荧光屏上的R、G、B三种颜色的荧光粉 发出不同亮度的光线,并通过相加混合产生各种颜色;扫描仪也是通过吸收原稿经反射或透射而发

2013-11-14 16:44:15 1282

原创 更改MFC图标(VC++6.0平台)

找一张ICO图标,替换programname/res/programname.ico文件,就可以啦,这时候你运行后得到的图标可能还是原来MFC的默认图标,这时候你只要把工程目录下的Debug和Release文件删除掉,重新编译生成就能得到更换图标后的程序。或者直接RebuildAll,再运行,怎么样很简单吧!当然,你如果你在你的工程里操作也没有问题,在工作区的resorce页中的Icon中把ID为

2013-11-14 16:44:13 1155

原创 基于HSI色彩空间的去阴影方法

基本原理:<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-han

2013-11-14 16:44:10 2755

原创 判断特定窗口是否存在、线程中获取获得一个顶层窗口的句柄

1.判断窗口是否还存在:实例: HWND hWnd;//窗口句柄 if(!IsWindow(hWnd))   //检查窗口是否已被关闭 { //处理程序 }2.获得一个顶层窗口的句柄:  函数原型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);参数: IpClassName:指向一个以null结尾的、用来指定类名的字符串

2013-11-14 16:44:08 4569

原创 车道检测过程中遇到的问题

1.使用cvLine画线无显示,原图错乱。原因:原图为灰度图,在灰度图上,无论怎么设置color,cvCircle、cvLine 只能画出黑白两种颜色。用这些画图函数在RGB图上画,才能画出来彩色。2.如下左图,红线都是由cvHoughLines2函数得到的直线,共有5条车道线,但每条车道线都由很多条重叠而成,如何将这重叠的多条线精简为一条线?答:经过多次调试、试验,发现这些很相近、重叠的线满足以

2013-11-14 16:44:06 1765

原创 MFC对话框中,将图片无变形地显示在图片控件框中(也适用于视频)

开发环境:OPENCV1.0  +  VC++6.0假设已添加好头文件、opencv库。 //************************************* //**** 新建打开文件对话框 ***** //************************************* CString FilePathName; CFileDialog dlg(TR

2013-11-14 16:44:03 1124

原创 在MFC中操作.ini文件

关于.ini 在我们写程序时,总有一些配置信息需要保存下来,以便在下一次启动程序完成初始化,这实际上是一种类持久化。将一些信息写入INI文件(initialization file)中,可完成简单的持久化支持。Windows提供了API接口用于操作INI文件,其支持的INI文件格式一般如下:===============================[Section1]Key11=value11

2013-11-14 16:44:01 1095

原创 Hough变换原理---从图像中识别几何图形,确定其参数

一、简单介绍Hough变换是图像处理中从图像中识别几何形状的基本方法之一。Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。二、Hough变换的基本思想设已知一黑白图像上画了一条直线,要求出这条直线

2013-11-14 16:43:59 4048

原创 大津法---OTSU算法

OPENCV的二值化操作中,有一种“大津阈值处理”的方法,使用函数 cvThreshold(image,image2,0,255,CV_THRESH_OTSU) 实现,该函数就会使用大律法OTSU得到的全局自适应阈值来进行二值化图片,而参数中的threshold不再起作用。OTSU算法OTSU算法也称最大类间差法,有时也称之为大津算法,由大津于1979年提出,被认为是图像分割中阈值选取的最佳算法

2013-11-14 16:43:56 2779

原创 关于inline---代替宏定义

在c++中,为了解决一些频繁调用的小函数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数。   可能说到这里,很多人还不明白什么是栈空间,其实栈空间就是指放置程序的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,如果频繁大量的使用就会造成因栈空间不足所造成的程序出错的问题,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。   下面我们来看一个

2013-11-14 16:43:54 942 1

原创 在word中,怎么插入一条水平线、粗线、波浪线、双直线、虚线 -------自动边框线

生成在编辑文档时,出于美观和醒目的需要,有时需要为文档添加一些分割线,如果利用特殊符号来输入,则可以达到事半功倍的效果。如果你需要绘制双直线,只要连续输入三个或者三个以上的“=” ,然后回车,双直线就自动生成了;如果你需要绘制波浪线,只要连续输入三个或者三个以上的“~” ,然后回车,波浪线就自动生成了;如果你需要绘制虚线,只要连续输入三个或者三个以上的“*” ,然后回车,虚线就自动生成了;如果你需

2013-11-14 16:43:51 10758

原创 Opencv2.3.1在VS2010平台上安装配置图解(64位系统)

1、下载软件。Opencv2.3.1可从此处下载到:http://www.opencv.org.cn/index.php/DownloadVS Express是微软提供的免费版,可从此处下载: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express2、安装软件。先安装VS2010,接着把刚下载的Openc

2013-11-14 16:43:49 905

原创 遇到的问题------基于OPENCV的车流量识别

1、如何得到 cvNamedWindow创建的窗口的句柄?答:使用 HWND hWnd = (HWND) cvGetWindowHandle(windowName);     //windowName 就是窗口名2、如何检测一个窗口是否还存在?答:使用   BOOL IsWindow(HWND hWnd); //参数为窗口的句柄 当该句柄标识的是一个已存在的窗口,返回非零值;否则,返回零值。3、在

2013-11-14 16:43:47 3697

原创 MFC打开文件对话框

CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。CFileDialog的语法:CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFlags = OFN_HIDERE

2013-11-14 16:43:44 745

原创 Altium中 PCB的覆铜步骤与注意点

|字号 订阅1.覆铜的意义    覆铜,就是将PCB上闲置的空间作为基准面,然后用固体铜填充,这些铜区又称为灌铜。敷铜的意义在于,减小地线阻抗,提高抗干扰能力;降低压降,提高电源效率;还有,与地线相连,减小环路面积。 2.覆铜步骤(1)在下方选择对应的层(也可在覆铜对话框中选择);(2)采用快捷键P,G打开覆铜对话框,或者单击标题栏第二行右侧“放置多边形平面”。(3)选择填充模式,孤岛和铜的移除值

2013-11-14 16:43:42 9429

原创 [转]matlab中plot用法

MATLAB有很强的图形功能,可以方便地实现数据的视觉化。强大的计算功能与图形功能相结合为MATLAB在科学技术和教学方面的应用提供了更加广阔的天地。下面着重介绍二维图形的画法,对三维图形只作简单叙述。 5.1 二维图形的绘制5.1.1 基本形式二维图形的绘制是MATLAB语言图形处理的基础,MATLAB最常用的画二维图形的命令是plot,看两个简单的例子:>> y=[0 0.58 0.70 0.

2013-11-14 16:43:39 2815

原创 OpenCV处理像素值

OpenCV对像素值的获取及赋值1 OpenCV中像素值的获取    Opencv 获取像素值主要有两种方式:1.1 CvScalar     OpenCV中,CvScalar结构为:    typedef struct CvScalar    {        double val[4];    }    CvScalar;    CvScalar s;    s=cvGet2D(img,i,j

2013-11-14 16:43:37 1352

原创 MFC中静态文本框等静态控件的的修改

解决方案: 1. 修改静态控件ID(原始都是IDC_STATIC),改成别的任何的都可以,如这里我改成 IDC_TOTAL_CASES 2. 比如我想一打开dialog就显示,那么就在OnInitDialog()中写上SetDlgItemText(IDC_TOTAL_CASES,ss); 或者GetDlgItem(IDC_TOTAL_CASES)->SetWindowText(ss); 如果在其他

2013-11-14 16:43:35 1264

原创 MFC中实现 灯 的效果

先添加一个按钮,ID为IDC_1;  注意:要将button的属性中的ownerdraw改为true,否则会出错。 添加代码: CBitmapButton m_pic1;   m_pic1.SubclassDlgItem(IDC_D1,this);  //初始化为灰色灯m_pic1.ModifyStyle(0,BS_OWNERDRAW);m_pic1.LoadBitmaps(IDB_H);  //

2013-11-14 16:43:32 2274

原创 MFC中按钮的隐藏和显示

GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_SHOW);

2013-11-14 16:43:30 7428

原创 角频率Ω和数字频率w的物理含义--附MATLAB仿真

古人云:基础不牢,地动山摇。勿在浮沙筑高台。此话真不假,比如MATLAB中下标从1开始而物理概念t从0开始,结果往往会差一点,做FFT后结果会莫名其妙的差一点,做仿真的时候经常会因为这样一些基本概念不清而导致对结果无法正确的解释。盲目的追求多学习,不求甚解是得不偿失的,最后无知的还是你自己。一定要动脑子想想,把知识消化了才能灵活运用。本文是数字信号处理的基本功,是本人学习思考后的总结,网上没有发现

2013-11-14 16:43:27 2846

原创 在MFC的Picture控件上画线和框

CPen pen(PS_SOLID,5,RGB(255,0,0));//创建一个画笔工具 //CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)); CWnd *pwnd=GetDlgItem(IDC_ShowImg);  CClientDC dc(pwnd);  dc.SelectObject(&pen

2013-11-14 16:43:25 7251

原创 CPen

简介  画笔是绘图的基本工具,在MFC中画笔是CPen类的对象,它用来在DC上完成绘制线条的任务。初始化时,系统自动提供了一支黑色的默认画笔。如果程序设计人员对这个默认的画笔不满意,可以自己创建画笔来替换它。所谓的自定义画笔,就是程序员自己创建的CPen类对象,创建画笔对象是,需要使用CPen类的构造函数,它的原型为: 命令  CPen(Int style,int width ,COLORRE

2013-11-14 16:43:23 1418

原创 MFC 对话框背景图片设置

用图片控件  在对话框中加入Picture控件,属性页中General->Type设为Bitmap,Image中选中相关联的图片资源号。  这样就编译运行,己经可以了。  图片控件覆盖了其他控件的处理方法:  由于Picture控件是后面放上去的。这样它会显示在最上层,所以有些控件看不到了。有两种方法可以解决:  (1)、选中所有控件Ctrl+A,然后取消对图片控件的选择,将其它控件剪切Ctrl+

2013-11-14 16:43:20 1219

原创 VS2010中MFC用Skin++加载皮肤

1、首先要讲SkinPPWTL.h、SkinPPWTL.dll、SkinPPWTL.lib(可以在CSDN里下载)以及你的皮肤文件复制到当前工作目录下 2、在stdafx.h中加入包含头文件#include  "SkinPPWTL.h" 3、在XXX.cpp中加入#pragma comment(lib,"SkinPPWTL.lib")  (注:XXX为工程名) 4、在XXX.cpp文档中找到CXX

2013-11-14 16:43:18 2189

原创 在CentOS 5上安装Git

现在都流行这个Git分布式版本控制系统,我也在服务器上装一个学一下. 首先安装Git依赖的一些包. yum -y install zlib-devel openssl-devel perl cpio expat-devel gettext-devel perl-ExtUtils-MakeMaker 接下来,如果你已经安装过Curl了,那么跳过这一步,没有的话,就装一下.(可以yum安装) wg

2013-11-14 16:43:16 678

原创 STC12C4052 PWM脉宽调制功能模块

// STC单片机PWM脉宽调制功能模块 #include // PWM初始化// 将PCA初始化为PWM模式,初始占空比为0// 参数:0,1,2,3,分别表示对PWM0、PWM1、PWM2、PWM3初始化void PWM_Init(int i){CMOD = 0x02; // 设置PCA定时器频率为内部时钟fosc/2CL = 0x00;CH = 0x00; switch(i){case 0

2013-11-14 16:43:13 1342

原创 PCF8951

将AD 和DA集成在一块芯片上,并且采用 I2C总线传输协议。引脚少,布线方便,控制简单。详情:http://baike.baidu.com/view/5772333.htm

2013-11-14 16:43:11 2138

原创 关于ADC0809的500kHz时钟频率

首先要声明的是,通过用89S51的定时器功能是不可能产生500K的频率(即2us的周期)。89C51的时钟是12M,那一个指令的周期就是1us。从定时器产生中断开始算起,你要重新写入高位和低位的初值,这里就已经花了2us,然后又把IO口取反,又用了1us,结束中断退出,这里又要3us,CPU还要执行主程序中的一条指令后才能再次响应中断,又要1us(可能是3个周期的指令呢就3us了,那就更慢了)。已

2013-11-14 16:43:09 12710

空空如也

空空如也

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

TA关注的人

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