www.pudn.com > Imagepro.rar > ImgProView.h
// ******************************************************************************
// * 图象处理算法库调用以及OPENGL图象操作示例
// * ----------------------------------------------------------------------------
// ImgProView.h : interface of the CImgProView class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_IMGPROVIEW_H__E5E97C6C_A9FA_11D5_AF4A_00E0987CDE66__INCLUDED_)
#define AFX_IMGPROVIEW_H__E5E97C6C_A9FA_11D5_AF4A_00E0987CDE66__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "ParDlg.h"
//////////////////////////
//加载图象处理函数库头文件
#include "imgprolib.h"
#include "DlgMorph.h"
#include "DlgSlipWindow.h"
class CImgProView : public CView
{
protected: // create from serialization only
CImgProView();
DECLARE_DYNCREATE(CImgProView)
// Attributes
public:
CImgProDoc* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CImgProView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
//}}AFX_VIRTUAL
// Implementation
public:
IMAGE2D *img; //声明图象处理类
virtual ~CImgProView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
HGLRC m_hRC;
HPALETTE m_hPalette;
BOOL bFlagOfThinning;
BOOL bFlagOfHoughTran;
BOOL bFlagOfThreshold;
BOOL bFlagOfEdgeDect;
BOOL bFlagOfOpenFile;
unsigned char* tmp_data;
int Ogl_View_X, Ogl_View_Y; //用于OpenGL视口的变量
float xZoomFactor, yZoomFactor, dFactor; //用于图象缩放
// Generated message map functions
protected:
//{{AFX_MSG(CImgProView)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnImageFileOpen();
afx_msg void OnZoomOut();
afx_msg void OnZoomIn();
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnZoomOutX();
afx_msg void OnZoomInX();
afx_msg void OnZoomOutY();
afx_msg void OnZoomInY();
afx_msg void OnZoomReset();
afx_msg void OnSmoothGauss();
afx_msg void OnHistogramFlatten();
afx_msg void OnThinning();
afx_msg void OnSimpleThresholding();
afx_msg void OnGlobalThresholding();
afx_msg void OnEdgedectectionSobel();
afx_msg void OnEdgedectectionCanny();
afx_msg void OnThresholdSimple2();
afx_msg void OnImageInvert();
afx_msg void OnImageFlipping();
afx_msg void OnHoughAccum();
afx_msg void OnHoughLinefitting();
afx_msg void OnHoughSample1();
afx_msg void OnHoughSample2();
afx_msg void OnEditUndo();
afx_msg void OnMorphDilation();
afx_msg void OnMorphErosion();
afx_msg void OnMorphOpen();
afx_msg void OnMorphClose();
afx_msg void OnMorphTopHat();
afx_msg void OnRoadrecognitionBdsco();
afx_msg void OnFileSaveAs();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CParDlg myParDlg;
CDlgMorph dlgMorph;
CDlgSlipWindow dlgSlpWin;
void ResetImg();
void OglDisplayImg(unsigned char * grayImage, int width, int height);
void OglSetProjection(void);
void OglDestroy(void);
void OglSetLogicalPalette(void);
void OglSetPixelFormat(HDC hDC);
};
#ifndef _DEBUG // debug version in ImgProView.cpp
inline CImgProDoc* CImgProView::GetDocument()
{ return (CImgProDoc*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_IMGPROVIEW_H__E5E97C6C_A9FA_11D5_AF4A_00E0987CDE66__INCLUDED_)