上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 61 下一页
  2011年1月31日
摘要: 1.读入图片:imread('filename') 如:f=imread('chest.jpg'); 注意:1.括号内为单引号,注意与C区分 2.命令行最后为冒号,否则会吃苦头的哦,呵呵 3.保证图片chest.jpg在当前目录下,否则要给出图片的完全路径 如:f=imread('D:\myimages\chest.jpg'); 4.filename后要跟图片格式后缀。 2.显示图片:imshow(f,[ ]) 注:上述为推荐使用方式,即使用imshow(f),也可以,二者之间的区别可以从下面两幅图的显示上看出 imshow(f)imshow(f,[ ]) 第一幅图片的灰度级较小,而,通过im 阅读全文
posted @ 2011-01-31 15:44 carekee 阅读(1261) 评论(0) 推荐(0)
摘要: function bars=histogram(I)%用==来提取某个灰度的像素%并用sum来计算个数ticbars=zeros(1,256);for value=0:255 bars(value+1)=sum(value==I(:));endbars=bars./numel(I);toc tic和toc是用来设置计时器,以测试函数的性能。 以如下方式使用这个函数: 首先读取一幅图像,例如: RGB=imread('1.jpg'); 转换为灰度图: I=rgb2gray(RGB); 获取直方图: bars=histogram(I); 显示直方图: bar(0:255 阅读全文
posted @ 2011-01-31 15:44 carekee 阅读(3030) 评论(0) 推荐(0)
摘要: 根据帮助C = conv2(A,B) computes the two-dimensional convolution of matrices A and B. If one of these matrices describes a two-dimensional finite impulse response (FIR) filter, the other matrix is filtered in two dimensions在敲姚敏的数字图像处理过程中,平滑I=imread('lena.jpg');J=imnoise(I,'salt & pepper',0.02); subplot(2 阅读全文
posted @ 2011-01-31 15:44 carekee 阅读(1135) 评论(0) 推荐(0)
摘要: function hsi=rgb2hsi(rgb)%RGB2HSI Converts an RGB image to HSI% HSI=RGB2HSI(rgb) converts an RGB image to HSI. The input image is% assumed to be of size M-by-N-by-3, where the third dimension accounts% for three image planes:red, green, and blue, in that order. If all RGB% component images are equal 阅读全文
posted @ 2011-01-31 15:43 carekee 阅读(5363) 评论(0) 推荐(0)
摘要: 概括的说,指针其实就是可变数组的首地址,说是可变数组,是 指其包含内容的数量的可变的,并且是可动态申请和释放的,从而充 分节约宝贵的内存资源。我一向喜欢一维数组,除非万不得已,我一 般是不用二维数组的,多维的则更是很少涉足了。因为一维简单,容 易理解,而用指针指向的多维数组就具有相当的复杂性了,也因此更 具有讨论的必要。 闲话少说,这里我就以三个二维数组的比较来展开讨论: (1)、int **Ptr; (2)、int *Ptr[ 5 ]; (3)、int ( *Ptr )[ 5 ]; 以上三例都是整数的二维数组,都可以用形如 Ptr[ 1 ][ 1 ] 的 方式访问其内容;但它们的差 阅读全文
posted @ 2011-01-31 15:41 carekee 阅读(37011) 评论(2) 推荐(4)
摘要: 1. A (*ga)[n] = new A[m][n]; ... delete []ga; 缺点:n必须是已知 优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正确调用) 2. A** ga = new A*[m]; for(int i = 0; i m; i++) ga[i] = new A[n]; ... for(int i = 0; i m; i++) delete []ga[i]; delete []ga; 缺点:非连续储存,程序烦琐,ga为A**类型 优点:调用直观,n可以不是已知 3. A* ga = n 阅读全文
posted @ 2011-01-31 15:41 carekee 阅读(2152) 评论(0) 推荐(0)
摘要: VC中通过MFC调用opencv的话,启动程序,然后关闭,这个时候并不能结束进程,比如你的程序是Image.exe,关闭程序之后在进程管理器中仍然有image.exe。解决办法:打开工程:在highgui class中找到HAVE_VIDEOINPUT #define HAVE_VIDEOINPUT 1将这句注释掉,重新编译OpenCv的Highgui工程 重新生成Highgui110d.dll然后进入安装目录,在bin下面会发现highgui110d.dll,将原来的highgui110.dll改名,然后将Highgui110d.dll改为Highgui110.dll,搞定。 阅读全文
posted @ 2011-01-31 15:37 carekee 阅读(575) 评论(0) 推荐(0)
摘要: 看了一天的论文,总结出手势识别的三种方法:1、通过肤色识别2、通过haar-like基3、通过HandUv说下各个优缺点1、通过肤色识别 设定人的肤色的范围,监测在这个范围内的 肤色InRange,然后画出给定的区域。 例子:#include "cv.h"#include "cxcore.h"#include "highgui.h"#include "math.h"#include iostream#include stdio.h#include string.h#include conio.h#include sstream#include time.husing n 阅读全文
posted @ 2011-01-31 15:36 carekee 阅读(3489) 评论(1) 推荐(1)
摘要: AlignMode (读写) 语法:AlignMode As Long 说明:对齐方式(与 SAlign 属性联动)。当控件的 长宽比例与影片不一致且 WMode 不为 ExactFit 时,影片 (没有被放大的)在控件中显示的位置可用该属性调整。 该属性值由标志位组成。如图,将该属性值(二进制)中相 应的位标记为 1 就设置了相应的对齐方向。 属性值与相应的对齐方式(后面括号里是二进制数) 1:左对齐(0001)  2:右对齐(0010)  4:顶对齐 (0100)  8:底对齐(1000) 也可以组合各种对齐方式,同时将两个或以上的位标 记为 1 ,也就是将这四个基本值组合相加。比如同时左 阅读全文
posted @ 2011-01-31 15:34 carekee 阅读(1287) 评论(0) 推荐(0)
摘要: 在BCGControlbar很好用,但是中如果自定义字体的话比较难看 注意菜单好像饱受压迫的一样,郁闷,在mainfrm中的oncreate中加入 LOGFONT lf; //lf定义字体属性 lf.lfOutPrecision= OUT_STROKE_PRECIS; lf.lfClipPrecision= CLIP_STROKE_PRECIS; lf.lfQuality = DRAFT_QUALITY; lf.lfPitchAndFamily= VARIABLE_PITCH|FF_MODERN; lf.lfHeight = 12; lf.lfWidth = 0; lf.lfEscapeme 阅读全文
posted @ 2011-01-31 15:33 carekee 阅读(562) 评论(0) 推荐(0)
摘要: 一、_WIN32_WINNT 与 _WIN32_IE 设置冲突 _WIN32_WINNT 与 _WIN32_IE设置不兼容会导致如下C1189致命错误: StdAfx.cppc:\program files\microsoft sdks\windows\v6.0a\include\sdkddkver.h(217) : fatal error C1189: #error : _WIN32_WINNT settings conflicts with _WIN32_IE setting StdAfx.cpp通常是项目中第一个编译的文件,这个错误将导致编译无法继续进行。产生这个错误的原因是原因是_W 阅读全文
posted @ 2011-01-31 15:33 carekee 阅读(1460) 评论(0) 推荐(0)
摘要: 重载DefWindowProc,在里面截获WM_NCLBUTTONDBLCLK消息进行处理: LRESULT CDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: Add your specialized code here and/or call the base class if( message == WM_NCLBUTTONDBLCLK && (INT)wParam == HTCAPTION ) { return 0; } return CDialog::DefWindowP 阅读全文
posted @ 2011-01-31 15:30 carekee 阅读(1492) 评论(0) 推荐(0)
摘要: 树型视的三个结构TVINSERTSTRUCT、TVITEM、NMTREEVIEW TVINSERTSTRUCT 包含添加新项到树形视控件所使用的信息。这个结构被TVM_INSERTITEM消息使用。这个结构与TV_INSERTSTRUCT结构是一样的,但它已经按当前的命名习惯重命名了。成员hParent 父项的句柄。如果这个成员的值是TVI_ROOT或NULL,这项将被作为树形控件的根插入。 hInsertAfter 插入的新项之后的项的句柄。或是下列值之一: 值意味 TVI_FIRST在列表的开始插入项 TVI_LAST在列表的最后插入项 TVI_ROOT作为一个根项添加 TVI_SORT以 阅读全文
posted @ 2011-01-31 15:29 carekee 阅读(2781) 评论(0) 推荐(0)
摘要: 第一个工具栏:if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)){ TRACE0("Failed to create toolbar\n"); return -1; // fail to create}m_wndToolBar.Set 阅读全文
posted @ 2011-01-31 15:28 carekee 阅读(593) 评论(0) 推荐(0)
摘要: 郁闷,老是乱跑什么啊,清楚记忆功能1、在App中注释掉// LoadStdProfileSettings(4); // Load standard INI file options (including MRU) // SetRegistryBase (_T("Settings")); 2、在MainFrame中注释掉Onclose中的 SaveMDIState (theApp.GetRegSectionPath ());并将原来的 CBCGPMDIFrameWnd::OnClose();改为CMDIFrameWnd::OnClose(); 阅读全文
posted @ 2011-01-31 15:28 carekee 阅读(463) 评论(0) 推荐(0)
摘要: static关键字是C、C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准). (1) 局部静态变量 静态局部变量有两个用法,记忆功能和全局生存期. (2) 外部静态变量/函数 用于全局变量,主要作用是限制此全局变量被其他的文件调用 (3) 静态数据成员/成员函数 表示这个成员是属于这个类但是不属于类中任意特定对象 下面就这三种使用方式及注意事项分别说明 一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, register 与auto类型(普通)局部 阅读全文
posted @ 2011-01-31 15:26 carekee 阅读(614) 评论(0) 推荐(1)
摘要: 使用MFC向导生成的MDI/SDI程序,其视图的标题默认就是项目名称加上一个数字,这样在一般的情况下倒是可以满足需要了,但在大多数情况下,都不能满足需要,用户一般都想来自己定义自己的视图标题。 在MFC中定制视图的标题,有两种方法,下面简单描述如下: 第一种方法:重载CFrameWnd::OnUpdateFrameTitle函数。 在项目的子框架类CChildFrame类中重载这个函数,首先在类中声明如下: class CChildFrame::public CMDIChildWnd { …… virtual void OnUpdateFrameTitle ( BOOL bAddToTi 阅读全文
posted @ 2011-01-31 15:25 carekee 阅读(670) 评论(0) 推荐(0)
摘要: ////////////////////////以下实现窗体的透明/////////////////////////////////// SetWindowLong(this-GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this-GetSafeHwnd(),GWL_EXSTYLE)^0x80000); HINSTANCE hInst = LoadLibrary("User32.DLL"); if(hInst) { typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD); MYFUNC 阅读全文
posted @ 2011-01-31 15:24 carekee 阅读(282) 评论(0) 推荐(0)
摘要: 使用COleDateTime类1) 获取当前时间。 CTime time; time = CTime::GetCurrentTime();2) 获取时间元素。 int year = time.GetYear() ; int month = time.GetMonth(); int day = time.GetDay(); int hour = time.GetHour(); int minute = time.GetMinute(); int second = time.GetSecond(); int DayOfWeek = time.GetDayOfWeek() ;3) 获取时间间隔。 C 阅读全文
posted @ 2011-01-31 15:23 carekee 阅读(15678) 评论(1) 推荐(1)
摘要: 步骤:1、在工具栏上定义菜单比如ID_DATE,ID_TIME2、在CMainFrm中修改(1)LRESULT CMainFrame::OnToolbarReset(WPARAM wp,LPARAM){ //----Example----// UINT uiToolBarId = (UINT) wp; switch (uiToolBarId) { case IDR_MAINFRAME: { CBCGPToolbarDateTimeCtrl dateButton (ID_DATE, CImageHash::GetImageOfCommand (ID_DATE, FALSE)); m_wndT 阅读全文
posted @ 2011-01-31 15:22 carekee 阅读(599) 评论(0) 推荐(0)
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 61 下一页