📄 imageprocess.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 + -