image.h

来自「This a simple class for OpenCV users. Go」· C头文件 代码 · 共 83 行

H
83
字号
#ifndef IMAGE_H_
#define IMAGE_H_

#include "cv.h"
#include "highgui.h"
#include <string>

class MyImage
{
    IplImage * m_image;
    std::string window_name;
    bool show;

 public :

    MyImage()
        :
        m_image( 0 ), show( false )
    {}

    ~MyImage()
    {
        if( m_image )
            cvReleaseImage( &m_image );

        if( show ) {
            cvWaitKey();
            cvDestroyWindow( window_name.c_str() );
        }
    }

    MyImage (const char * path)
        :
        m_image( cvLoadImage (path, CV_LOAD_IMAGE_UNCHANGED) ), show( false )
    {}

    MyImage (IplImage ** image)
        :
        /*m_image( *image ),*/ show( false )
    {
        this->m_image = cvCloneImage( *image );
    }

    MyImage (const MyImage & r)
    {
        this->m_image = cvCloneImage( r.m_image );
    }

    void displayImg( std::string ); // "alikaraali"

    IplImage *&  getFrame()
    {
        return m_image;
    }

    size_t getHeight() const
    {
        return m_image->height;
    }

    size_t getWidth() const
    {
        return m_image->width;
    }

    size_t getChannel() const
    {
        return m_image->nChannels;
    }

    uchar & operator ()(int, int, int = 0);
};

struct Point
{
    int x;
    int y;
};

#endif


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?