课程设计-车牌检测

1、如何打开图像文件的View

在APP中添加打开消息和打开处理函数,函数逻辑如下:

1)CFileDialog,将要打开的文件名存到对话框中,这里使用了过滤数组,打开BMP文件或所有文件

2)CFileDialog::DoModal()显示文件对话框

        3)使用CFileDialog::GetPathName()函数获取你选取的文件的路径,并使用CString::MakeUpper将文件路径名都改为大写

4)使用CWinApp::OpenDocumentFile打开或创建一个文档文件 

 

2、如何将文件的数据保存在DOC中

1)在Doc中设置两个变量:布尔变量m_bImageLoaded判断图像是否读入内存中;m_pDipObject指针

                  注:stdafx.h 将常用的头函数放在这里。

             

下面是Doc中的OnFileOpen函数

1)CFileDialog,将要打开的文件名存到对话框中,这里使用了过滤数组,打开BMP文件或所有文件

2)CFileDialog::DoModal()显示文件对话框

3)使用CFileDialog::GetPathName()函数获取你选取的文件的路径

4)使用CWinApp::OpenDocumentFile打开或创建一个文档文件 ;在这里要使用afxGetApp获取App的指针

5)用ReadImgToDoc将文件读取到Doc中


if (!ReadImgToDoc())
{
AfxMessageBox("无法载入图像文件");
return;
}

好像没有运行到这里的代码


ReadImgToDoc()函数的实现方法

1)获取图像文件的路径

2)设置等待光标CCmdTarget::BeginWaitCursor,在Doc类中当打开或保存文件的时候,等待光标告诉用户正忙

3)调用自定义的CDibObject类的构造函数,打开文件,并取消等待光标

4)判断读取文件是否成功


3、如何另存为图像

if (FileDlg.DoModal() == IDOK)
{

外面的代码和打开的模式差不多,下面是里面的代码

1)调用CWnd* AfxGetMainWnd( ) 获取主框架类,CMDIChildWnd* MDIGetActive( BOOL*pbMaximized = NULL ) const获取子框架类,

CView* GetActiveView( ) const;获得试类

2)判断图像是否存在

3)存在,获取另保存栏中的文件路径,截取.前的文件名,然后加上指定的文件扩展名已构成完整的文件名

4)调用CDibOject类中的Save函数保存图像

5)设置窗口的标题


另存为存在一些问题

4、绘制读入的图像

1)载入图片的数据

2)根据的图片的大小设置滚动窗口

3)获取客户区的尺寸

CView::OnPrepareDC,在调用OnDraw函数前,由Framework调用,在默认的实现中不做任何事,但是派生类中一般会重写这个函数,比如CScrollView,为了你所写的内容调整屏幕,你必须随时在你重新写的地方调用基类的实现 


4)获取图像的宽度和高度

5)当图像的尺寸小于窗口尺寸时,将图像放在客户区中间


5、车牌定位

定义图像处理函数定义一般的全局函数

Canny算子

1)等待光标

2)获取指向图像的指针(在Doc中)

3) 判断是否是8-bpp位图,不处理8-bpp位图

4) 返回以象素表示的DIB的宽度和高度(CDibObject类中的方法)

5)得到dib的实际存储宽度,


  图像信息头




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值