code_app/modules/imgproc/HGImgProc.h

92 lines
3.5 KiB
C
Raw Normal View History

2022-05-03 10:25:52 +00:00
#ifndef __HGIMGPROC_H__
#define __HGIMGPROC_H__
#include "../base/HGDef.h"
#include "../base/HGBaseErr.h"
#include "HGImgProcErr.h"
#include "../base/HGImage.h"
/* 最近邻插值 */
#define HGIMGPROC_INTERPOTYPE_NN 1L
/* 双线性插值 */
#define HGIMGPROC_INTERPOTYPE_LINEAR 2L
/* 自动裁剪参数 */
2022-05-03 10:25:52 +00:00
typedef struct
{
HGBool convex; /* 黑底填充时的填充方式, true为凸多边形填充false为凹多边形填充默认true */
HGBool fillColor; /* 黑底填充时采用自适应色彩填充false为白色填充true为自适应文稿底色填充默认false */
HGDouble threshold; /* 二值化阈值,取值范围(0, 255)默认40 */
HGInt noise; /* 除噪像素能够消除noise宽度的背景竖条纹干扰默认8 */
HGInt indent; /* 轮廓缩进裁剪、纠偏或者黑底填充时对探索到的纸张轮廓进行缩进indent像素默认5 */
HGBool normalCrop; /* crop deskew fillBlank失效固定裁切采用最传统的裁切方式默认false */
HGBool dispersion; /* 是否除色散默认true */
}HGImgAutoCropParam;
/* 白底检查参数 */
typedef struct
{
HGDouble threshold; /* 默认40 */
HGInt edge; /* 默认150 */
HGInt blockSize; /* 默认10 */
HGDouble devTh; /* 默认50 */
HGDouble meanTh; /* 默认200 */
}HGImgBlankCheckParam;
2022-05-03 10:25:52 +00:00
/* 图像缩放
* :
* 1) image: in,
* 2) destImage: in,
* 3) interpolation: in, , HGIMGPROC_INTERPOTYPE_*
* :
* 1) ROI区域
* 2) type必须一样
* 3) origon不一致的情况
* 4) image和destImage不能是同一个句柄
*/
HGEXPORT HGResult HGAPI HGImgProc_ResizeImage(HGImage image, HGImage destImage, HGUInt interp);
/*
*
* 1) image: in,
* 2) destImage: in,
* 3) brightness: in, , -255255
* 4) contrast: in, , -127127
* 5) gamma: , 0.15.0
* :
* 1) ROI区域, ROI区域的大小必须一致
* 2) type必须一样
* 3) origon不一致的情况
* 4) image和destImage可以是同一个句柄
*/
HGEXPORT HGResult HGAPI HGImgProc_ImageAdjustColors(HGImage image, HGImage destImage,
HGInt brightness, HGInt contrast, HGFloat gamma);
/*
*
2022-05-03 10:25:52 +00:00
* 1) image: in,
* 2) autoCrop: in, , HGTRUE则忽略destWidth和destHeight
* 3) deskew: in,
* 4) fillBlank: in,
* 5) param: in, , NULL时使用默认参数
* 6) destWidth: in,
* 7) destHeight: in,
2022-05-26 11:01:38 +00:00
* 8) destType: in, , 0image一样
* 9) destOrigin: in, , 0image一样
* 10) destImage: out,
* :
2022-05-03 10:25:52 +00:00
* 1) image的ROI区域
*/
HGEXPORT HGResult HGAPI HGImgProc_ImageAutoCrop(HGImage image, HGBool autoCrop, HGBool deskew, HGBool fillBlank, const HGImgAutoCropParam* param,
2022-05-03 10:25:52 +00:00
HGUInt destWidth, HGUInt destHeight, HGUInt destType, HGUInt destOrigin, HGImage* destImage);
/* 判断图像是否是空白
* 1) image: in,
* 2) param: in, , NULL时使用默认参数
* 3) blank: out, HGTRUE为空白图像, HGFALSE为非空白图像
* :
* 1) image的ROI区域
*/
HGEXPORT HGResult HGAPI HGImgProc_ImageBlankCheck(HGImage image, const HGImgBlankCheckParam *param, HGBool *blank);
2022-05-03 10:25:52 +00:00
#endif /* __HGIMGPROC_H__ */