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

📄 omlib.h

📁 图像处理软件,功能比较基础
💻 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 + -