⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dip.h

📁 很经典的数字图像处理讲义
💻 H
字号:
#ifndef DIP_H

#define DIP_H



#define WIN31

#define PI 3.1415926



#include <owl.h>

#include <windows.h>

#include <commdlg.h>

#include <stdio.h>

#include <string.h>

#include <math.h>

#include "resource.h"



struct COMPLEX

{

	float re,im;

};



_CLASSDEF(TDipApp)

class TDipApp:public TApplication

{

	public:

		TDipApp(LPSTR AName,HINSTANCE hInstance,

			HINSTANCE hPrevInstance,LPSTR lpCmdLine,

			int nCmdShow)

		:TApplication(AName,hInstance,hPrevInstance,

			lpCmdLine,nCmdShow)

		{};

		virtual void InitMainWindow();

};



_CLASSDEF(TDipWindow)

class TDipWindow:public TWindow

{

	protected:

		BITMAPFILEHEADER bmpFileHeader;

		BITMAPINFOHEADER bmpInfoHeader;

        int nW,nH;

		RGBQUAD Quad[256];

		HCURSOR hSaveCursor,hHourCursor;

		int rd[9];

		int cd[9];

		COMPLEX * omega,* p,* f;

		COMPLEX huge ** SpaceField,huge ** FreqField;

		unsigned char huge ** image,huge ** temp;



		void add(COMPLEX *,COMPLEX *,COMPLEX *);

		void sub(COMPLEX *,COMPLEX *,COMPLEX *);

		void mul(COMPLEX *,COMPLEX *,COMPLEX *);

		int reverse(int,int);

		void root(int);

		void fft(int);

		void nfft(int);

		void tfft(int,int);

		void ntfft(int,int);



		void Show();



		void GetNeighbour(int,int,unsigned char *);

		int ThinLeft(void);

		int ThinRight(void);

		int ThinTop(void);

		int ThinBottom(void);

		void Edge(void);

	public:

		TDipWindow(PTWindowsObject pwParent,LPSTR lpszTitle);

		~TDipWindow();

		virtual void SetupWindow();

		virtual LPSTR GetClassName();



		void WMSize(RTMessage Msg)=[WM_FIRST+WM_SIZE];



		BOOL CMOpen()=[CM_FIRST+IDM_OPEN];

		void CMSave()=[CM_FIRST+IDM_SAVE];



		void CMTower()=[CM_FIRST+IDM_TOWER];

		void CMBridge()=[CM_FIRST+IDM_BRIDGE];

		void CMWord()=[CM_FIRST+IDM_WORD];

		void CMMark()=[CM_FIRST+IDM_MARK];

		void CMClear()=[CM_FIRST+IDM_CLEAR];

		void CM3D_Transfer()=[CM_FIRST+IDM_3D];

		void CMEdge()=[CM_FIRST+IDM_EDGE];

		void CMThin()=[CM_FIRST+IDM_THIN];

};



struct DlgBuf

{

	char s1[20],s2[20],s3[20];



	DlgBuf()

	{

		strcpy(s1,"10000");

		strcpy(s2,"45");

        strcpy(s3,"45");

    };

};



_CLASSDEF(TSetDialog)

class TSetDialog:public TDialog

{

	public:

		TSetDialog(PTWindowsObject AParent,int ResourceID,

			DlgBuf * buffer);

};



#endif

⌨️ 快捷键说明

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