91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

選擇圖像中的roi區(qū)域在圖像處理中有重要意義,demo利用橡皮筋類crectTracker選擇圖像roi區(qū)域。

資源截圖

代碼片段和文件信息

#include?“StdAfx.h“
#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?????{
????????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();
???
????m_img?=?cvCreateImage(?cvSize(?w?h?)?IPL_DEPTH_8U?bpp/8?);
??}
??if(?m_img?)
????m_img->origin?=?origin?==?0???IPL_ORIGIN_TL?:?IPL_ORIGIN_BL;
??return?m_img?!=?0;
}
void??CvvImage::CopyOf(?CvvImage&?image?int?desired_color?)
{
??IplImage*?img?=?image.GetImage();
??if(?img?)
??{
????CopyOf(?img?desired_color?);
??}
}
#define?HG_IS_IMAGE(img)?????????????????????

評(píng)論

共有 條評(píng)論