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

📄 imageprocess.h

📁 医学图象处理系统
💻 H
字号:


// 图像区域的各种属性
struct AreaAttrib 
{
	double Centerx, Centery;
	RECT   Outline;
	double Area;
};
// 灰度图像处理 直接操作数据指针的函数 (与CImage 类无关)

// 图像卷积 (一个模板)
void Image_Convolution_33 (BYTE* InputImage , int ImgW , int ImgH ,
						   int *Template);
// 图像卷积 (两个模板)
void Image_Convolution_33 (BYTE* InputImage , int ImgW , int ImgH,
						   int *Template1, int *Template2);
// sobel 边缘提取 
void Image_Sobel             (BYTE* InputImage , int ImgW , int ImgH);
// sobel 边缘方向提取
void Image_EdgeOrention_Sobel(BYTE* InputImage , int ImgW , int ImgH);
// roberts 边缘提取
void Image_Roberts (BYTE* InputImage , int ImgW , int ImgH);
// prewitt 边缘提取
void Image_Prewitt (BYTE* InputImage , int ImgW , int ImgH);
// laplacian 边缘提取
void Image_Laplacian (BYTE* InputImage , int ImgW , int ImgH);
// wallis 边缘提取
void Image_Wallis    (BYTE* InputImage , int ImgW , int ImgH, 
					  double Ia, int Imean, int Isigma, int Iam);
// 均值滤波
void Image_MeanFilter       (BYTE* InputImage, int ImgW, int ImgH ,int Masksize);
// 递归中值滤波
void Image_RMiddleFilter    (BYTE* InputImage, int ImgW, int ImgH ,int Masksize);
// 非递归中值滤波
void Image_NonRMiddleFilter (BYTE* InputImage, int ImgW, int ImgH ,int Masksize);
// 快速中值滤波
void Image_FastMedian       (BYTE* InputImage, int ImgW, int ImgH ,int Masksize);
// 高斯滤波
void Image_Gauss_Blur       (BYTE *InputImage, int ImgW, int ImgH, double Sigma);
// 高斯增强
void Image_Gauss_Sharpen    (BYTE *InputImage, int ImgW, int ImgH, double Sigma);
// 图像的阈值二值化
void Image_AutoBinary						(BYTE* InputImage, int ImgSize);
void Image_AutoBinary_MaxExpection			(BYTE* InputImage, int ImgSize);
void Image_AutoBinary_Qtsu					(BYTE* InputImage, int ImgSize);
void Image_AutoBinary_EntropicCorrelation   (BYTE* InputImage, int ImgSize);
void Image_ManualBinary		                (BYTE* InputImage, int ImgSize, BYTE Threshold, int Type);
// 图像的线性增强
void Image_LinearScalar     (BYTE *InputImage, int ImageSize ,int a, int b);
void Image_AutoLevels		(BYTE *InputImage, int ImageSize, int a= 0, int b= 255);
// 图像的直方图增强
void Image_Histogramenhance (BYTE *InputImage, int ImageSize);
// SUSAN滤波
void Image_SUSAN_Filter      (BYTE* InputImage, int ImgW, int ImgH, int bt, double dt);
void Image_SUSAN_Principle   (BYTE* InputImage, int ImgW , int ImgH ,int bt);
void Image_SUSAN_thin        (int *r, BYTE *mid, int x_size, int y_size);
void Image_SUSAN_Edge_Normal (BYTE* InputImage, int ImgW , int ImgH ,int bt);
// 旋转不变矩算子提取边缘
void Image_Edge_RotateInvariantOperator         (BYTE *InputImage, int ImgW, int ImgH, int Masksize);
// 旋转不变矩算子提取边缘方向
void Image_EdgeOrention_RotateInvariantOperator (BYTE *InputImage, int ImgW, int ImgH, int Masksize);
// marrhildreth 算子提取边缘
void Image_Edge_MarrHildreth (BYTE *InputImage, int ImgW, int ImgH, double Sigma);
// 灰度图像腐蚀
BOOL Image_Gray_Erosion      (BYTE *image, int ImgW, int ImgH, BYTE *Mask, int MaskSize);
// 灰度图像膨胀
BOOL Image_Gray_Dilation     (BYTE *image, int ImgW, int ImgH, BYTE *Mask, int MaskSize);

//好玩的显示函数
void Image_Mosaic_Show  (BYTE* InputImage, int ImgW, int ImgH ,int Masksize);
void Image_Pyramid_Show (BYTE *InputImage, int ImgW, int ImgH);

//二值图像处理函数
void Image_Binary_Thin_Hilditch (BYTE* InputImage , int ImgW , int ImgH ,BYTE TargetGray);
void Image_Binary_Thin_ZhangSuen(BYTE* InputImage , int ImgW , int ImgH ,BYTE TargetGray);
void Image_Binary_Thin_Somebody (BYTE* InputImage , int ImgW , int ImgH ,BYTE TargetGray);

BOOL Image_Binary_HoughTransform(BYTE* InputImage , int ImgW , int ImgH ,BYTE TargetGray);
BOOL Image_Binary_RadonTransform(BYTE* InputImage , int ImgW , int ImgH ,BYTE TargetGray);

BOOL Image_Binary_Dilation(BYTE *image, int ImgW, int ImgH, BYTE *Mask, int MaskSize, BYTE TargetGray);
BOOL Image_Binary_Erosion (BYTE *image, int ImgW, int ImgH, BYTE *Mask, int MaskSize, BYTE TargetGray);

void Image_Binary_Get_Area_Attrib(BYTE *image, int imgW, int imgH, struct AreaAttrib *attrib, int PtNum);
BOOL Image_Binary_grass(BYTE **image, int imgW , int imgH, BYTE TargetGray, 
						int Startx, int Starty, int AreaLabel, int &PixelNum);
int  Image_Binary_grass_label(BYTE *image , int imgW , int imgH, BYTE TargetGray);

BOOL Image_Binary_SimpleEdge(BYTE *InputImage, int ImgW, int ImgH, BYTE TargetGray);

void Image_Improve_Radon(BYTE *InputImage, int ImgW, int ImgH, int Masksize);
// 与CImage类有关的函数
float   Image_Edge_Canny_EstimateNoise(FloatImage &mag, float amax, float q);

void    Image_Edge_Canny_NonMaximalSuppress 
					  (CImage     &dest, 
					   FloatImage &xgrad, 
					   FloatImage &ygrad,
					   FloatImage &mag,
					   float       amax);
void    Image_Edge_Canny(CImage		&InImage,
						 float		sigma,
						 float		&noise,
						 float		lambda= 8,
						 float		tau= 0,
						 int		MaskType= 0,
						 FloatImage *ori= NULL);

⌨️ 快捷键说明

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