在MFC的View窗口中显示IplImage之二

续。

如果有CvvImage类最好就用这个类

//IplImage* imgSrc;
//HDC hDC;
//CRect rect;
CvvImage imgShow;
imgShow.CopyOf(imgSrc,imgSrc->nChannels);
imgShow.DrawToHDC(hDC,rect);
在OpenCV高版本(最近好像有2.4Beta2版本了)如2.3.1没有CvvImage类,我们可以自己添加这个类到自己的工程中。
找到他们的头文件和实现文件。因为我已另外经安装了OpenCV1.0,找到
..\..\\otherlibs\highgui\image.cpp文件,这个就是实现文件了,头文件也很容易,自己写也可以


首先是头文件。

///
//CvvImage.h

//#pragma once
#ifndef CVVIMAGE_CLASS_DEF
#define CVVIMAGE_CLASS_DEF

#include "opencv.hpp"

class CvvImage
{
public:
	CvvImage();
	virtual ~CvvImage();

	virtual bool Create( int width, int height, int bits_per_pixel, int image_origin = 0 );
	virtual bool Load( const char* filename, int desired_color = 1 );
	virtual bool LoadRect( const char* filename,

	int desired_color, CvRect r );

#if defined WIN32 || defined _WIN32
	virtual bool LoadRect( const char* filename,int desired_color, RECT r )
	{
		return LoadRect( filename, desired_color,
			cvRect( r.left, r.top, r.right - r.left, r.bottom - r.top ));
	}
#endif

	virtual bool Save( const char* filename );
	virtual void CopyOf( CvvImage& image, int desired_color = -1 );
	virtual void CopyOf( IplImage* img, int desired_color = -1 );
	IplImage* GetImage() { return m_img; };
	virtual void Destroy(void);
	int Width() { return !m_img ? 0 : !m_img->roi ? m_img->width : m_img->roi->width; };
	int Height() { return !m_img ? 0 : !m_img->roi ? m_img->height : m_img->roi->height;};
	int Bpp() { return m_img ? (m_img->depth & 255)*m_img->nChannels : 0; };
	virtual void Fill( int color );
	virtual void Show( const char* window );

#if defined WIN32 || defined _WIN32
	virtual void Show( HDC dc, int x, int y, int width, int height,
		int
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值