• 大小: 60.87MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2022-12-07
  • 语言: C/C++
  • 标签: MFC+Vs  OPENCV  

资源简介

MFC+VS2013+OPENCV 打开视频,带有滑动条拖动的 简单程序

资源截图

代码片段和文件信息

#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 < 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 wint 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)                                                  \
 ((img) != 0 && ((const IplImage*)(img))->n

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-06 14:51  VideoPlayer1\
     目录           0  2018-03-25 09:12  VideoPlayer1\Debug\
     文件      225280  2018-04-05 16:03  VideoPlayer1\Debug\VideoPlayer1.exe
     文件     1500460  2018-04-05 16:03  VideoPlayer1\Debug\VideoPlayer1.ilk
     文件     7638016  2018-04-05 16:03  VideoPlayer1\Debug\VideoPlayer1.pdb
     目录           0  2018-03-25 08:50  VideoPlayer1\ipch\
     目录           0  2018-03-25 08:50  VideoPlayer1\ipch\videoplayer1-34a2b3f\
     文件    91095040  2018-03-25 08:50  VideoPlayer1\ipch\videoplayer1-34a2b3f\videoplayer1-e0d87fa1.ipch
     目录           0  2018-03-25 09:17  VideoPlayer1\VideoPlayer1\
     文件    85524480  2018-04-06 14:51  VideoPlayer1\VideoPlayer1.sdf
     文件         903  2018-03-25 08:48  VideoPlayer1\VideoPlayer1.sln
     文件       31232  2018-04-06 14:51  VideoPlayer1\VideoPlayer1.v11.suo
     文件        6625  2018-03-24 10:08  VideoPlayer1\VideoPlayer1\CvvImage.cpp
     文件        1767  2018-03-24 10:01  VideoPlayer1\VideoPlayer1\CvvImage.h
     目录           0  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\
     文件        2918  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\cl.command.1.tlog
     文件      112700  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\CL.read.1.tlog
     文件        1758  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\CL.write.1.tlog
     文件      201592  2018-03-25 09:08  VideoPlayer1\VideoPlayer1\Debug\CvvImage.obj
     文件           2  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link-cvtres.read.1.tlog
     文件           2  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link-cvtres.write.1.tlog
     文件           2  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link-mt.read.1.tlog
     文件           2  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link-mt.write.1.tlog
     文件           2  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link-rc.read.1.tlog
     文件           2  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link-rc.write.1.tlog
     文件        3360  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link.command.1.tlog
     文件        9956  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link.read.1.tlog
     文件         864  2018-04-05 16:03  VideoPlayer1\VideoPlayer1\Debug\link.write.1.tlog
     文件         648  2018-03-25 09:17  VideoPlayer1\VideoPlayer1\Debug\rc.command.1.tlog
     文件        3090  2018-03-25 09:17  VideoPlayer1\VideoPlayer1\Debug\rc.read.1.tlog
     文件         230  2018-03-25 09:17  VideoPlayer1\VideoPlayer1\Debug\rc.write.1.tlog
............此处省略26个文件信息

评论

共有 条评论