www.pudn.com > FINAL.rar > DlgMosaics.h


#if !defined(AFX_DLGMOSAICS_H__88D51007_C1C1_4E4D_B31C_2BA86EBDEB55__INCLUDED_)
#define AFX_DLGMOSAICS_H__88D51007_C1C1_4E4D_B31C_2BA86EBDEB55__INCLUDED_

#include "ImageProcessingDoc.h"
#include "cdib.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DlgMosaics.h : header file
//

#include "ImageProcessingDoc.h"
/////////////////////////////////////////////////////////////////////////////
// CDlgMosaics dialog


class CDlgMosaics : public CDialog
{
// Construction
public:
CImageProcessingDoc* m_pDoc;
CDlgMosaics(CWnd* pParent = NULL, CImageProcessingDoc* pDoc = NULL);
// standard constructor
//左图重叠开始的横坐标位置
int left_starX;
//左图重叠开始的纵坐标位置
int left_starY;
//左图重叠结束的横坐标位置
int left_endX;
//左图重叠结束的纵坐标位置
int left_endY;
//右图重叠开始的横坐标位置
int right_starX;
//右图重叠开始的纵坐标位置
int right_starY;
//右图重叠结束的横坐标位置
int right_endX;
//右图重叠结束的纵坐标位置
int right_endY;




// Dialog Data
//{{AFX_DATA(CDlgMosaics)
enum { IDD = IDD_DLG_MOSAIC };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA


// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDlgMosaics)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL

// Implementation
protected:
void MergeDIB(CDib* bmp1,CDib* bmp2);
BOOL IsSameRect(CDib* bmp1,CDib* bmp2);
BOOL IsSameCol(CDib* bmp1,CDib* bmp2,int x1,int y1,int x2,int y2);
BOOL IsSamePix(CDib* bmp1,CDib* bmp2,int x1,int y1,int x2,int y2);
long GetPixOffset(unsigned int X,unsigned int Y,CDib* bmp);
BOOL SetComparDIB(CDib* bmp1,CDib* bmp2);


void CalImageLocation();
// 基准图象数据指针,用于图象拼接
LPBYTE m_lpBaseImg;

// 待配准图象数据指针,用于图象拼接
LPBYTE m_lpSampImg;

// 计算图象位置的标志位。FALSE表示还没有计算图象位置
BOOL m_bCalImgLoc;



// 设置图象等控件的位置大小
// void CalImageLocation();

// 基准图象
CDib* m_pDibInit;

// 待配准图象
CDib* m_pDibSamp;

CDib* m_pDibResult;

// 配准后的图象
// CDib* Tempbmp;

// 基准图象显示区域
CRect m_rectInitImage;

// 待配准图象显示区域
CRect m_rectResltImage;

//相同块的面积
int MAXarea;















// Generated message map functions
//{{AFX_MSG(CDlgMosaics)
afx_msg void OnPaint();
afx_msg void OnOpen();
afx_msg void OnMosaic();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DLGMOSAICS_H__88D51007_C1C1_4E4D_B31C_2BA86EBDEB55__INCLUDED_)