ImageObject.h
上传用户:jjiangjuan
上传日期:2013-03-27
资源大小:59k
文件大小:3k
源码类别:

波变换

开发平台:

Visual C++

  1. #if !defined(AFX_IMAGEOBJECT_H__0C9199C6_E499_4745_813E_AC0475E2452C__INCLUDED_)
  2. #define AFX_IMAGEOBJECT_H__0C9199C6_E499_4745_813E_AC0475E2452C__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // ImageObject.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CImageObject window
  10. #define ROW 320//640
  11. #define COL 240//480
  12. #define UP 1
  13. #define UPRIGHT 2
  14. #define RIGHT 3
  15. #define DOWNRIGHT 4
  16. #define DOWN 5
  17. #define DOWNLEFT 6
  18. #define LEFT 7
  19. #define UPLEFT 8
  20. #define NOTSEARCH 9
  21. #define NODIRECT 10
  22. #define SEARCHED 11
  23. struct LPCandidate{
  24. int x0,y0,x1,y1;
  25. struct LPCandidate *next;
  26. };
  27. struct  plumb{
  28. int i0;
  29. int j0;
  30. int i1;
  31. int j1;
  32. int direct;
  33. struct plumb *next;
  34. } ;
  35. #include <wingdi.h>
  36. class CImageObject : public CStatic
  37. {
  38. // Construction
  39. public:
  40. CImageObject();
  41. // Attributes
  42. public:
  43.    BITMAPINFO ForLPR;
  44. // Operations
  45. public:
  46. // Overrides
  47. // ClassWizard generated virtual function overrides
  48. //{{AFX_VIRTUAL(CImageObject)
  49. //}}AFX_VIRTUAL
  50. // Implementation
  51. public:
  52. void Binary(BITMAPINFO DIBINFO,BYTE buf[]);
  53. BITMAPINFO WriteDibFile(int Height, int Width,BYTE buf[]);
  54. void RASearch(int direct, int i, int j,int x0, int y0, int x1, int y1,int &count);
  55. void Graft2BmpData(BYTE BMP[COL*ROW*3]);
  56. int RAStat(int x0, int y0, int x1, int y1);
  57. plumb * SelectEdge(int SX, int SY, int EX,int EY,int tag);
  58. void Cruiser(int direct, int &i, int &j);
  59. bool StrongStrech;
  60. LPCandidate * GetLPPos();
  61. int GetDirection(unsigned int x0, unsigned int y0, unsigned int x1, unsigned int y1);
  62. void ResetNoise(int direct, int i, int j, int &tol);
  63. int GetVetor(int i, int j);
  64. void FilterDirectionPix(int direct, int i, int j,int &tol);
  65. void ZigzagFilter(int &zigzag,int direct0,int direct1,int i,int j);
  66. int GetSimiUnSearchPix(int &xPos, int &yPos);
  67. int sort(int i,int j,int direct,int &zigzag);
  68. void EdgeTest();
  69. void DelNoise();
  70. void GetEdge();
  71. void InteEqualize(BYTE lpData[COL][ROW],int lCount[]);
  72. void gray(BYTE lpData[COL][ROW]);
  73. bool LPLocated;
  74. void LoadBmp();
  75. void Graft2BmpData();
  76. virtual ~CImageObject();
  77. // Generated message map functions
  78. protected:
  79. //{{AFX_MSG(CImageObject)
  80. afx_msg void OnPaint();
  81. //}}AFX_MSG
  82. DECLARE_MESSAGE_MAP()
  83. private:
  84. BITMAPFILEHEADER bitmapfileheader;
  85. BITMAPINFOHEADER bitmapinfoheader;
  86. BITMAPINFO bitmapinfo,*pbi;
  87. BYTE *lpBuf;
  88. RGBQUAD * quad;
  89. int nDir;
  90.     int numQuad;
  91. plumb LPYBorder,LPXBorder,CDL;
  92. LPCandidate LPC;
  93. LPCandidate * P;
  94. };
  95. /////////////////////////////////////////////////////////////////////////////
  96. //{{AFX_INSERT_LOCATION}}
  97. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  98. #endif // !defined(AFX_IMAGEOBJECT_H__0C9199C6_E499_4745_813E_AC0475E2452C__INCLUDED_)