-
大小: 86.94MB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2023-05-28
- 語(yǔ)言: C/C++
- 標(biāo)簽:
資源簡(jiǎn)介
在前輩的基礎(chǔ)上做了一些改進(jìn),適用于vs2015+opencv3.3
代碼片段和文件信息
#include?“stdafx.h“//加到工程后這個(gè)就要添上
#include?“CvvImage.h“
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CV_INLINE?RECT?NormalizeRect(?RECT?r?);
CV_INLINE?RECT?NormalizeRect(?RECT?r?)
{
????int?t;
????if(?r.left?>?r.right?)
????{
????????t?=?r.left;
????????r.left?=?r.right;
????????r.right?=?t;
????}
????if(?r.top?>?r.bottom?)
????{
????????t?=?r.top;
????????r.top?=?r.bottom;
????????r.bottom?=?t;
????}
????return?r;
}
CV_INLINE?CvRect?RectToCvRect(?RECT?sr?);
CV_INLINE?CvRect?RectToCvRect(?RECT?sr?)
{
????sr?=?NormalizeRect(?sr?);
????return?cvRect(?sr.left?sr.top?sr.right?-?sr.left?sr.bottom?-?sr.top?);
}
CV_INLINE?RECT?CvRectToRect(?CvRect?sr?);
CV_INLINE?RECT?CvRectToRect(?CvRect?sr?)
{
????RECT?dr;
????dr.left?=?sr.x;
????dr.top?=?sr.y;
????dr.right?=?sr.x?+?sr.width;
????dr.bottom?=?sr.y?+?sr.height;
????return?dr;
}
CV_INLINE?IplROI?RectToROI(?RECT?r?);
CV_INLINE?IplROI?RectToROI(?RECT?r?)
{
????IplROI?roi;
????r?=?NormalizeRect(?r?);
????roi.xOffset?=?r.left;
????roi.yOffset?=?r.top;
????roi.width?=?r.right?-?r.left;
????roi.height?=?r.bottom?-?r.top;
????roi.coi?=?0;
????return?roi;
}
void?FillBitmapInfo(?BITMAPINFO*?bmi?int?width?int?height?int?bpp?int?origin?)
{
????assert(?bmi?&&?width?>=?0?&&?height?>=?0?&&?(bpp?==?8?||?bpp?==?24?||?bpp?==?32));
????BITMAPINFOHEADER*?bmih?=?&(bmi->bmiHeader);
????memset(?bmih?0?sizeof(*bmih));
????bmih->biSize?=?sizeof(BITMAPINFOHEADER);
????bmih->biWidth?=?width;
????bmih->biHeight?=?origin???abs(height)?:?-abs(height);
????bmih->biPlanes?=?1;
????bmih->biBitCount?=?(unsigned?short)bpp;
????bmih->biCompression?=?BI_RGB;
????if(?bpp?==?8?)
????{
????????RGBQUAD*?palette?=?bmi->bmiColors;
????????int?i;
????????for(?i?=?0;?i?256;?i++?)
????????{
????????????palette[i].rgbBlue?=?palette[i].rgbGreen?=?palette[i].rgbRed?=?(BYTE)i;
????????????palette[i].rgbReserved?=?0;
????????}
????}
}
CvvImage::CvvImage()
{
????m_img?=?0;
}
void?CvvImage::Destroy()
{
????cvReleaseImage(?&m_img?);
}
CvvImage::~CvvImage()
{
????Destroy();
}
bool?CvvImage::Create(?int?w?int?h?int?bpp?int?origin?)
{
????const?unsigned?max_img_size?=?10000;
????if(?(bpp?!=?8?&&?bpp?!=?24?&&?bpp?!=?32)?||
????????(unsigned)w?>=?max_img_size?||?(unsigned)h?>=?max_img_size?||
????????(origin?!=?IPL_ORIGIN_TL?&&?origin?!=?IPL_ORIGIN_BL))
????{
????????assert(0);?//?most?probably?it?is?a?programming?error
????????return?false;
????}
????if(?!m_img?||?Bpp()?!=?bpp?||?m_img->width?!=?w?||?m_img->height?!=?h?)
????{
????????if(?m_img?&&?m_img->nSize?==?sizeof(IplImage))
????????????Destroy();
????????/*?prepare?IPL?header?*/
????????m_img?=?cvCreateImage(?cvSize(?w?h?)?IPL_DEPTH_8U?bpp/8?);
????}
????if(?m_img?)
????????m_img->origin?=?origin?==?0???IPL_ORIGIN_TL?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????..A..H.?????44544??2018-03-13?20:47??MFC_openCamera\.vs\MFC_openCamera\v14\.suo
?????文件??????61440??2018-03-12?16:46??MFC_openCamera\Debug\MFC_openCamera.pdb
?????文件??103481344??2018-03-12?16:23??MFC_openCamera\ipch\MFC_OPENCAMERA-2bb5114\MFC_OPENCAMERA-4125269c.ipch
?????文件??122355712??2018-03-13?19:29??MFC_openCamera\ipch\MFC_OPENCAMERA-2bb5114\MFC_OPENCAMERA-ae1a0eba.ipch
?????文件??????64049??2014-11-10?16:37??MFC_openCamera\MFC_openCamera\1.jpg
?????文件???????7572??2018-03-12?16:55??MFC_openCamera\MFC_openCamera\CvvImage.cpp
?????文件???????2117??2018-03-12?16:55??MFC_openCamera\MFC_openCamera\CvvImage.h
?????文件?????387848??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\CvvImage.obj
?????文件???????2659??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.log
?????文件??????70416??2018-03-12?16:16??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.obj
?????文件???55246848??2018-03-12?16:14??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.pch
?????文件??????69924??2018-03-12?16:16??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.res
?????文件???????3406??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\CL.command.1.tlog
?????文件?????110480??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\CL.read.1.tlog
?????文件???????2986??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\CL.write.1.tlog
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件??????????2??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
?????文件???????2090??2018-03-12?16:46??MFC_openCamera\MFC_openCamera\Debug\MFC_openCamera.tlog\li
............此處省略69個(gè)文件信息
評(píng)論
共有 條評(píng)論