【OpenCV入门指南】第二篇 缩放图像

【OpenCV入门指南】第二篇 缩放图像 上一篇《【OpenCV入门指南】第一篇安装OpenCV》讲解了如何在VS2008下安装和配置OpenCV,本篇将介绍使用OpenCV来缩放图片。首先介绍几个关键函数——cvResize和cvCreateImage 《OpenCV入门指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764 一. 主要函数介绍 1.1 cvResize 函数功能:图像大小变换 函数原型: voi
分类: 其他 发布时间: 01-29 23:12 阅读次数: 0

秒杀多线程第六篇 经典线程同步 事件Event

阅读本篇之前推荐阅读以下姊妹篇: 《秒杀多线程第四篇 一个经典的多线程同步问题》 《秒杀多线程第五篇 经典线程同步关键段CS》 上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权”特性所以关键段只能用于线程的互斥而不能用于同步。本篇介绍用事件Event来尝试解决这个线程同步问题。 首先介绍下如何使用事件。事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。 第一个 CreateEvent 函数功能:创建事件 函数原型: HANDLECreateE
分类: 其他 发布时间: 01-29 23:11 阅读次数: 0

秒杀多线程第五篇 经典线程同步 关键段CS

上一篇《秒杀多线程第四篇 一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题。 本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。 关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 函数功能:初始化 函数原型: void InitializeCriticalSection(LPCRITICAL_SECTIONlpCriticalSection
分类: 其他 发布时间: 01-29 23:10 阅读次数: 0

VC++ 6.0中控件及对应的类

List Box ----------- CListBox类 Static Text --------- CStatic 类 Edit Box ---------- Group Box --------- Check Box--------- Combo Box--------CComboBox类 Button --------- CButton类 Radio Button--------- 字体类-----CFont类 对话框类----CDialog 应用程序类-----CWinApp
分类: 其他 发布时间: 01-29 23:10 阅读次数: 0

添加、删除控件后引起的问题

在框口里删除了一个控件后,又添加了一个相同的控件,并取的相同的名字,但在运行MFC程序时,提示了错误,并造成程序崩溃。通过网络查询到解瘊方法如下: 原因是控件不用了,被我删除了,但是相应控件的DDX没有删除。把跟控件变量相关的都删除干净就ok了
分类: 其他 发布时间: 01-29 23:09 阅读次数: 0

关于字体的疑问

“”当我们将一个字体选择到“设备描述表”中的时候,它会返回先前的字体。为此我们需要定义一个字体指针,用于保护先前的字体,“”,这句话的意思是不是意味着如果不保护冼前的字体,那先前的字体就会被丢掉,以后是我们设置的字体。事实证明如果不保护先前的字本,我们新设置的字体不起作用。 void CTest3View::OnDraw(CDC* pDC) { CTest3Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code
分类: 其他 发布时间: 01-29 23:09 阅读次数: 0

模态对话框与非模态对话框的区别

1、在MFC编程当中,对资源的操作,通常都是通过和资源相对应的类来完成的。对话框资源对应的类是CDialog.它是从CWind派生出来的,所以它是一个和窗口相关的类。 对话框分模态对话框和非模态对话框, 模态对话框在应用程序能够继续执行之前必须被关闭掉,调用DoModal()完成,关闭时用EndDialog完成的. CTest dlg; dlg.DoModal(); 非模态对话框允许在应用程序执行过程不关闭,开多个窗口。非模态对话框用Create()创建,调用ShowWindow()显示对话框
分类: 其他 发布时间: 01-29 23:09 阅读次数: 0

获得窗口控件值的N种方法

1、获取窗口的文本:CWnd::GetWindowText(),,如果直接在对话框内部调用GetWindowText(),的话所获取的文本是对话框的文本,如何获得静态文本框的文本呢,首先要获取和静态文本框相对应的类的指针,然后通过指针去调用GetWindowText()去获取它的文本。 获取对话框上子控件的指针:CWnd::GetDlgItem(),这个函数大多数数情况下用在对话框类当中。 设置窗口文本:CWnd::SetWindowText(), 字符的内容转换为数值:atoi(); 数值转
分类: 其他 发布时间: 01-29 23:09 阅读次数: 0

完成对话框收缩的功能

要求: 在窗口添加个按钮,修改其名称为“收缩”,当点击“收缩”按钮时,将对话框切除一部分,并将按钮文字改为“扩展”;当再次点击“扩展”时,还原对话框 过程: 1、在窗口添加个按钮,修改其名称为“收缩”, 2、为按钮增加点击事件; 3、在事件中添加CString 变量,用来判断当前按钮上的文字内容; 4、在对话框上添加分隔符,用于表示分隔线; 5、获得对话框的宽、高以便截取;要获得坐标 获得窗口的矩形区域:CWnd::GetWindowRect(); 6、了解CRect类。 CRect类中,有两
分类: 其他 发布时间: 01-29 23:08 阅读次数: 0

让输入焦点移动到下一个编辑框

方法: 1、放在缺省函数中实现ONOK(),在窗口默认的OK按钮上,添加以下代码: GetNextDlgTabItem(GetFocus())->SetFocus(); 并注释:CDialog::OnOK(); 即可完成将输入焦点移到下一个编辑框的功能。 其它: 1、通过捕获键盘上的按键消息,然后在消息的响应函数当中将输入焦点移动到下一个编辑框,现在的编辑框是一个控件,我们可以针对编辑框去生成一个类来完成这个功能; 2、通过去修改编辑框控件原先的窗口过程:也就是说我们自己去编写一个窗口过程然后
分类: 其他 发布时间: 01-29 23:08 阅读次数: 0

指向常量的指针和指针常量

1、很多与文件操作的相关的函数,其参数的类型都是指向常量的指针类型: 指向常量的指针:表示指向的对象是常量;指针值可以修改;指向的内容不可改变。 char ch[5]; const char* pStr=ch;//const要在*的前面。在char前面还是后面无所谓 *pStr = 'w';//错误 pStr="wangwu";//正确 我们通常在定义函数时,如果想用指针做为传参,通常会将形参声明为指向常量的指针类型。这样当实参传进来之后,因为形参类型是指向常量的指针,所以不能用形参去修改它所
分类: 其他 发布时间: 01-29 23:08 阅读次数: 0

C语言中对文件的操作

在C语言中对文件的操作是通过FILE结构体来完成的。 读文件: 1、读取文件:fread() 2、memset():用指定的字符来设置一块BUFFER.可避免字符串找不到结尾,也可避免增加不必要的字符串长度 3、得到文件的长度:ftell(),它是得到文件指针当前的位置,因为文件指针随文件移动,所以指针当前位置就是文件的长度。 4、rewind()重新放文件指针到文件开始处。 5、移动文件指针fseek(), 示例: FILE *oFile=fopen("text.txt","w"); cha
分类: 其他 发布时间: 01-29 23:08 阅读次数: 0

C++中对文件的操作

在C++中对文件的操作使用以下类: 写文件: ofstream::ofstream; ofstream ofs("5.txt"); ofs.write("http://agilor.iscas.ac.cn",strlen("http://agilor.iscas.ac.cn")); ofs.close(); 读文件: ifstram::ifstream; ifstream ifs("5.txt"); char ch[100]; memset(ch,0,100); ifs.read(ch,100
分类: 其他 发布时间: 01-29 23:07 阅读次数: 0

Win 32 API中对文件的操

1、CreateFile():返回一个句柄,用来标识它所打开或创建的句柄。 创建或打开控制台、通信资源、目录、资源设备、文件、邮槽、管道; HANDLE CreateFile(   LPCTSTR lpFileName, //文件名;   DWORD dwDesiredAccess, //访问模式(写/读) GENERIC_READ 可对设备进行读访问; GENERIC_WRITE 允许对设备进行写访问; 0,表示只 允许获取与一个设备有关的信息   DWORD dwShareMode, //
分类: 其他 发布时间: 01-29 23:07 阅读次数: 0

MFC中对文件操作的类

提供的类CFile::Cfile() 读文件: CFile file("7.txt",CFile::modeRead); char *pBuf; DWORD dwFileLen; dwFileLen=file.GetLength(); pBuf=new char[dwFileLen+1]; pBuf[dwFileLen]=0; file.Read(pBuf,dwFileLen); file.Close(); MessageBox(pBuf); 写文件: CFile file("7.txt",C
分类: 其他 发布时间: 01-29 23:07 阅读次数: 0

为对话框增加打开和另存为功能

CFileDialog::CFileDialog :// 它是一个对话框类, ( BOOL bOpenFileDialog,//TRUE:构建文件“打开”对话框,FALSE:构建 文件“另存为”对话框 LPCTSTR lpszDefExt = NULL,//缺省的文件扩展名 LPCTSTR lpszFileName = NULL,//出现在编辑框的初始化文件名 DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,//标记的组合,允许定制对
分类: 其他 发布时间: 01-29 23:07 阅读次数: 0

对注册表文件进行操作

有时候我们编写程序时需要将一些初始化的信息写到一个配置文件当中,当我们程序启动时从配置文件当中去读取这些初始化的信息,现在很多软件都将这些信息写到注册表当中,软件启动时从注册表当中去读取这些初始化信息,但早期一些软件都会将这些信息写到WIN.INI文件当中。在超过16位操作系统以后,这些信息只能写在注册表当中了。 如果我们想要在WIN.INI当中写入一些初始化的信息可以用如下函数,它仅用于16位操作系统当中.: 一、向注册表文件中写信息:拷一个字符串到Win.ini文件当中 平台SDK中的函数
分类: 其他 发布时间: 01-29 23:06 阅读次数: 0

文件与串行化

CArchive类:它没有基类,它允许你保存一个复杂的对象网络在一个永久的二进制形式上,通常是硬盘,在这个对象被删除之后保持持久性,以后可以从持久的保存器上加载这个对象,在内存中重新构建它们,使对象持久性的过程叫串行化; 串行化过程:将对象、数据写到磁盘,对象删除后,数据保存在磁盘,当下次再调用数据时,重新从磁盘中加载数据,并构建对象,使数据持久化,的这个过程. 可以认为它是一个输入输出的二进制流,就像输入输出流,一个Archive它与一个文件相关,允许带缓冲的写入数据到存储器上,或者带缓冲的
分类: 其他 发布时间: 01-29 23:06 阅读次数: 0

控件问题

问题描述: Debug Assertion Failed! proogram:\桌面\vcidemo\Ddbug\vcidemo.exe File:afx.inl Line:122 For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts (Press Retry to debug the applicatiaon) 原因: 至今不
分类: 其他 发布时间: 01-29 23:06 阅读次数: 0

将python文件打包成EXE可执行程序

目的:将写成的.py文件生成.exe可执行程序,在没有编译环境的情况下可以运行。 1、安装installer。 在cmd环境下安装,pip install PyInstaller 参数说明: -F 表示生成单个可执行文件 -W 表示去掉控制台窗口,这在GUI界面是非常有用。不过如果是命令行程序的话那就删除这个选项! -p 表示你自己定义需要加载的类路劲,一般情况下用不到 -i 表示可执行文件的图标 2、生成exe文件。到C:\Python27\Lib\site-packages,运行cmd,
分类: 其他 发布时间: 01-29 23:05 阅读次数: 0