📄 omlib.h
字号:
// omlib.h: interface for the Comlib class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_OMLIB_H__1FC6BF42_5485_11D5_BD50_5254AB10D0A6__INCLUDED_)
#define AFX_OMLIB_H__1FC6BF42_5485_11D5_BD50_5254AB10D0A6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef MATH_H
#define MATH_H
#include "math.h"
#endif
#include "dib.h"
#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)
#define CLOCKWISE 0 // 顺时针
#define NOCLOCKWISE 1 // 逆时针
#define KERNEL0 0
#define KERNEL1 1
#define KERNEL2 2
#define KERNEL3 3
#define PI 3.1415926
struct complex
{
float real;
float imag;
};
struct Picture
{
unsigned char **p;
int row;
int col;
};
typedef struct{
int Height;
int Width;
} Seed;
struct KERNEL
{
int kernel[9];
};
struct RadonResult
{
int centre_x;
int centre_y;
int theta;
int coordinatex;
int rect_length;
int avernum;
};
struct ResultPoint
{
POINT first;
POINT end;
} ;
//========================
void ffree_2d(void **a,int row);
BOOL WINAPI WriteBmpHead(BITMAPINFO *BitmapInfo,WORD ColLen,WORD RowLen,WORD BitCount,int nDelta=0);
HDIB WINAPI ChangeToHDIB(Picture input,int nDelta=0);
//============= 申请空间函数=========//
//读写图象函数
unsigned char **InputImageWithName(CString FileName,int &row ,int &col );
void Writebmp(CDC *pdc,unsigned char **Picture,int row,int col);
BOOL writepic(CString FileName,Picture input);
//申请空间函数
unsigned char **fspace_2d(int row,int col );
void dspace_2d(unsigned char **data,int row,int col);
Fliter_Med(Picture oldpic,Picture dealpic);
//图象处理函数
BOOL invradon(int *theta,int *rhoMax,float *step,int *row,int *col,unsigned char **outpic);
float GaussNoise( float mean, float deviate);
void ImageAddGuassNoise(Picture input, Picture output,float mean,float deviate);
BYTE **ImgRotate(Picture input , int& dr, int& dc, int theta , BOOL dir, BYTE nBackgrd);
//==========
reconstruct (int **input,int *cornernum,int *rhoMax,float *step,int *row,int *col,unsigned char **output,int *threshold);
BOOL Sobel(Picture,KERNEL,KERNEL,Picture );
BOOL Laplacian(Picture input,KERNEL ker,Picture output);
BOOL Fit_itself(Picture input,Picture output);
BOOL Noclear(Picture input,Picture output);
BOOL Noise(Picture oldpic,Picture dealpic,int num,int gray);
HistogramEqualization(Picture input,Picture output);
BOOL Ostu(Picture oldpic,Picture dealpic);
BOOL Fourier(Picture input,complex **cData);
BOOL IFFT(Picture oldpic,complex **cData);
int *HistoGarm (Picture input);
BOOL Robert(Picture input,Picture output);
PartFliter(Picture input,KERNEL ker,int fenmu,Picture output);
int **Radon(Picture input,int *step0,int &cornernumz,int &rhoMax);
int **RRadon(Picture input,int *step0,int &cornernum,int &rhoMax);
int **NewRadon(Picture input,int *step0,int &cornernum,int &rhoMax);
BOOL Findpoint(Picture inputpic);
RadonResult *RandonPic(unsigned char **input,int Row,int Col,int theta,int &rect_num);
ResultPoint RandonPic_sin(unsigned char **input,int Row,int Col,int theta,int xcoordinate,int centre_x,int centre_y,int newrect_length,int truetheta);
BOOL normalize(int **input,int *row,int *col,Picture output);
void HOF(unsigned char **OrigImg, unsigned char **SmoothImg, int Row, int Col);
BOOL WINAPI ErosionDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, int nMode , int structure[3][3]);
BOOL WINAPI DilationDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, int nMode , int structure[3][3]);
BOOL WINAPI OpenDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, int nMode , int structure[3][3]);
BOOL WINAPI CloseDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, int nMode , int structure[3][3]);
BOOL WINAPI ThiningDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI ContourDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI Fill2DIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI FillDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL radon(unsigned char **pic,int row,int col,RadonResult *res);
BOOL Log(int m_log_k,double m_log_sigma,Picture input,Picture output);
FILE *wfwrite1(int row,int col,int type, CString filename);
BOOL OutputImageWithName(unsigned char **Image,int Row,int Col, CString FileName);
int ChangeNameExtension(const char *s1);
int ChangeNameExtension1(const char *s1);
int ChangeFloatName(const char *s1);
BOOL Extraction8(CString InputFileName,CString OutputFileName);
BOOL DigRectImage(Picture input,char *OutputFileName,int xStep=1,int yStep=1,int ImageNum=0,int outputRow=71,int outputCol=71);
double Average(Picture *input);
class Comlib
{
public:
Comlib();
virtual ~Comlib();
public:
};
#endif // !defined(AFX_OMLIB_H__1FC6BF42_5485_11D5_BD50_5254AB10D0A6__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -