資源簡(jiǎn)介
利用opencv 對(duì)圖片處理,例如二值化,濾波,調(diào)整角度,然后對(duì)處理完之后的圖片進(jìn)行分割,保存
代碼片段和文件信息
//?PicDigRecDll.cpp?:?定義?DLL?的初始化例程。
//
#include?“stdafx.h“
#include?“PicDigRecDll.h“
#include?“mydiblib.h“
#include?
#include?
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//
//TODO:?如果此?DLL?相對(duì)于?MFC?DLL?是動(dòng)態(tài)鏈接的,
// 則從此?DLL?導(dǎo)出的任何調(diào)入
// MFC?的函數(shù)必須將?AFX_MANAGE_STATE?宏添加到
// 該函數(shù)的最前面。
//
// 例如:
//
// extern?“C“?BOOL?PASCAL?EXPORT?ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// //?此處為普通函數(shù)體
// }
//
// 此宏先于任何?MFC?調(diào)用
// 出現(xiàn)在每個(gè)函數(shù)中十分重要。這意味著
// 它必須作為函數(shù)中的第一個(gè)語(yǔ)句
// 出現(xiàn),甚至先于所有對(duì)象變量聲明,
// 這是因?yàn)樗鼈兊臉?gòu)造函數(shù)可能生成?MFC
// DLL?調(diào)用。
//
// 有關(guān)其他詳細(xì)信息,
// 請(qǐng)參閱?MFC?技術(shù)說(shuō)明?33?和?58。
//
//?CPicDigRecDllApp
BEGIN_MESSAGE_MAP(CPicDigRecDllApp?CWinApp)
END_MESSAGE_MAP()
//?CPicDigRecDllApp?構(gòu)造
CPicDigRecDllApp::CPicDigRecDllApp()
{
//?TODO:?在此處添加構(gòu)造代碼,
//?將所有重要的初始化放置在?InitInstance?中
//Image?=?NULL;
}
//?唯一的一個(gè)?CPicDigRecDllApp?對(duì)象
CPicDigRecDllApp?theApp;
//?CPicDigRecDllApp?初始化
BOOL?CPicDigRecDllApp::InitInstance()
{
CWinApp::InitInstance();
return?TRUE;
}
IplImage*?CPicDigRecDllApp::Image?=?NULL;
//打開(kāi)256色位圖文件并轉(zhuǎn)化為灰度圖
BOOL?CPicDigRecDllApp::FileOpenBmp(const?char*?lpszPathName)?
{
/*if?(!CDocument::OnOpenDocument(lpszPathName))
return?false;*/
?//TODO:?Add?your?specialized?creation?code?here
//m_image.Load(lpszPathName);//以圖片原本的通道方式打開(kāi)圖片 ?
//m_image.Load(lpszPathName);
//MyImage.CopyOf(m_image);//復(fù)制圖片,接受以后的處理
//
//Image=MyImage.GetImage();//得到IplImage*指針,方便運(yùn)用opencv進(jìn)行處理
//IplImage*?Image11???=?cvLoadImage(lpszPathName0);
//Image?=?cvLoadImage(lpszPathName0);
//cvCvtColor(pImg?pImg1?CV_BGR2GRAY);
//IplImage*?img=cvCreateImage(cvSize(Image->widthImage->height)IPL_DEPTH_8U1);
IplImage*?img1?=?cvLoadImage(lpszPathName-1);
IplImage*?img2?=?cvCreateImage(cvSize(img1->widthimg1->height)IPL_DEPTH_8U1);
cvCvtColor(img1?img2CV_BGR2GRAY);
Image=cvCreateImage(cvSize(img1->widthimg1->height)IPL_DEPTH_8U1);
cvCopy(img2?Image?NULL);
cvReleaseImage(&img2);//釋放IplImage指針src??
return?TRUE;
}
////圖像預(yù)處理第1步:將256色圖像轉(zhuǎn)化為灰度圖像
void?CPicDigRecDllApp::IMGPRC256ToGray()
{
//IplImage*?img=cvCreateImage(cvSize(Image->widthImage->height)IPL_DEPTH_8U1);
//for(int?j=0;jheight;j++)
//for(int?i=0;iwidth;i++)
//{
//CV_IMAGE_ELEM(imgucharji)=(uchar)(CV_IMAGE_ELEM(Imageucharji*3)*0.114+CV_IMAGE_ELEM(Imageucharji*3+1)*0.587+CV_IMAGE_ELEM(Imageucharji*3+2)*0.299);
//}
//*MyImage.CopyOf(img);
//UpdateAllViews(NULL);*/
//Image?=?img;
//cvReleaseImage(&img);//釋放IplImage指針src??
//cvMinMaxLoc()
}
//圖像預(yù)處理第2步:將灰度圖二值化
void?CPicDigRecDllApp::IMGPRCGrayToWhiteBlack()
{
//得到圖片的最大灰度值和最小灰度值
double?min_val?=?0;double?max_val?=?0;??
????cvMinMaxLoc(Image&min_val&max_val);???//取圖像中的最大最小像素值??
/*int?thresMax=0thresMin=255;
for(int?j=0;jheight;j++)
for(int?i=0;iwidth;i++)
{
if(CV_IMAGE_ELEM(
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????3072??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-delayload-l1-1-0.dll
?????文件???????3072??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-errorhandling-l1-1-0.dll
?????文件???????5120??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-file-l1-1-0.dll
?????文件???????3072??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-handle-l1-1-0.dll
?????文件???????3584??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-heap-l1-1-0.dll
?????文件???????3072??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-interlocked-l1-1-0.dll
?????文件???????3072??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-io-l1-1-0.dll
?????文件???????3584??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-libraryloader-l1-1-0.dll
?????文件???????4096??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-localregistry-l1-1-0.dll
?????文件???????3584??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-memory-l1-1-0.dll
?????文件???????3584??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-misc-l1-1-0.dll
?????文件???????3584??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-processenvironment-l1-1-0.dll
?????文件???????4608??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-processthreads-l1-1-0.dll
?????文件???????3072??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-profile-l1-1-0.dll
?????文件???????4096??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-synch-l1-1-0.dll
?????文件???????4096??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-core-sysinfo-l1-1-0.dll
?????文件???????3584??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-security-lsalookup-l1-1-0.dll
?????文件???????3072??2009-07-14?09:24??PicDigRecDll\Debug\api-ms-win-security-sddl-l1-1-0.dll
?????文件??????36864??2012-02-10?15:43??PicDigRecDll\Debug\cryptba
?????文件??????78848??2012-02-10?15:40??PicDigRecDll\Debug\cryptsp.dll
?????文件?????717824??2012-02-14?08:35??PicDigRecDll\Debug\dui70.dll
?????文件??????39936??2006-11-02?17:46??PicDigRecDll\Debug\dwmapi.dll
?????文件?????197632??2010-09-19?09:24??PicDigRecDll\Debug\ieshims.dll
?????文件?????161792??2012-10-16?14:24??PicDigRecDll\Debug\PicDigRecDll.dll
?????文件????????816??2012-10-16?14:24??PicDigRecDll\Debug\PicDigRecDll.exp
?????文件????1108532??2012-10-16?14:24??PicDigRecDll\Debug\PicDigRecDll.ilk
?????文件???????2008??2012-10-16?14:24??PicDigRecDll\Debug\PicDigRecDll.lib
?????文件????5008384??2012-10-16?14:24??PicDigRecDll\Debug\PicDigRecDll.pdb
?????文件??????99840??2012-03-20?13:53??PicDigRecDll\Debug\sspicli.dll
?????文件?????142552??2011-05-10?18:28??PicDigRecDll\Debug\tbb_debug.dll
............此處省略66個(gè)文件信息
評(píng)論
共有 條評(píng)論