




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用说明书
目录
PPM、PGM和PBM图像处理.....................................................
YUV图像处理....................................................................
RAW图像处理...................................................................
BMP图像处理....................................................................
其它处理.........................................................................
PPM、PGM和PBM图像处理
voidOTSUBinarization(char*OTSU二值化。input是输入文件名,
input,char*output)output是输出文件名。支持P5格式的
PGM图像。
voidPPMtoBMP(char*input,char*PPM图像转为BMP图像。bpp是BMP图
output,intbpp)像的色深。
voidBMPtoPPM(char*input,char*BMP图像转PPM图像。
output)
voidPPMtoBMP1(char*input,char*PPM图像转为BMP图像。bpp是BMP图
output,intbpp)像的色深。
voidBMPtoPPMl(char*input,char*BMP图像转PPM图像。
output)
voidBMPtoPGM(char*input,char*BMP转PGMo
output)
voidBMPtoPPM2(char*input,BMP转PPMo
char*output)
voidPPMtoPGMCchar*input,char*PPM转PGMo
output)
voidBlurPPM(char*input,char*PPM图像滤波。
output)
voidBlurPGM(char*input,char*PGM图像滤波。
output)
voidOTSU二值化划分。input是输入文件名,
SegmentsOTSUBinarization(char*output是输出文件名。支持P5格式的
input,char*output)PGM图像。
voidP3PpMBlur(char*input,char*PPM图像模糊,input是输入文件名,
output)output是输出文件名。支持P3格式的
PPM图像。
unsignedchar**ReadPBM(char*读取PBM图像并返回图像数据。input
input)是要读取的PBM图像文件名。支持P4
格式的PBM图像。
voidWritePBM(unsignedchar**保存PBM图像。Input是输入的图像数
Input,char*output)据,output是输出文件名。支持P4格
式的PBM图像。
void直方图均衡化,input是输入文件名,
PGMHistogramEqualization(char*output是输出文件名。支持P5格式的
input,char*output)PGM图像。
PPMImage*ReadPPM(char*input)PPM图像读取,input是要读取的PPM
图像文件名。支持P6格式的PPM图像。
需要引入的结构体:
typedefstruct{
unsignedcharred,green,blue;
〃像素的颜色由RGB(红/绿/
蓝)表示
}PPMPixel;
typedefstruct{
unsignedintwidth,height;
//图像的宽度和高度(以像素
为单位)
PPMPixel*data;
//构成图像的像素
}PPMImage;
voidWritePPM(char*PPM图像保存,output是输出的PPM
output,PPMImage*img)图像文件名,img是输入的图像数据。
支持P6格式的PPM图像。
需要引入的结构体:
typedefstruct{
unsignedcharred,green,blue;
〃像素的颜色由RGB(红/绿/
蓝)表示
}PPMPixel;
typedefstruct{
unsignedintwidth,height;
//图像的宽度和高度(以像素
为单位)
PPMPixel*data;
//构成图像的像素
}PPMImage;
voidInvertColor(char*负滤波器,input是输入文件名,output
input,char*output)是输出文件名。支持P6格式的PPM图
像。
voidGrayFliter(char*灰度过滤器,input是输入文件名,
input,char*output)output是输出文件名。支持P6格式的
PPM图像。
voidSepiaFiIter(char*乌贼墨过滤器,input是输入文件名,
input,char*output)output是输出文件名。支持P6格式的
PPM图像。
voidAdjustSaturation(char*调整图像饱和度,input是输入文件名,
input,char*output,doublea)output是输出文件名。a是目标饱和度,
如a=30。支持P6格式的PPM图像。
voidResize(char*input,char*调整图像大小,input是输入文件名,
output,unsignedintNewWidth,output是输出文件名。NewWidth和
unsignedintNewHeight)NewHeight分别是输出图像的宽和高。
支持P6格式的PPM图像。
voidAdjustHue(char*input,char*调整图像的色调,input是输入文件名,
output,inta)output是输出文件名。a是目标色调,
如a=125。支持P6格式的PPM图像。
voidAdjustBrightness(char*调整图像亮度,input是输入文件名,
input,char*output,doublea)output是输出文件名。a是目标亮度,
如a=60。支持P6格式的PPM图像。
voidAdjustContrast(char*调整图像对比度,input是输入文件名,
input,char*output,doublea)output是输出文件名。a是目标对比度,
如a=60。支持P6格式的PPM图像。
voidAdjustBlur(char*通过sigma因子模糊图像,input是输
input,char*output,doublea)入文件名,output是输出文件名。a是
sigma因子,如a=5。支持P6格式的PPM
图像。
voidMeanGrayFilter(char*平均灰度滤波器,input是输入文件名,
input,char*output,doublea)output是输出文件名。a是平均值系数,
如a=3。支持P6格式的PPM图像。
voidPixelate(char*input,char*像素化,input是输入文件名,output
output,unsignedinta)是输出文件名。a是幅度值,如a=8。
支持P6格式的PPM图像。
voidRotate(char*input,char*旋转图像,input是输入文件名,output
output,shorta)是输出文件名。a是旋转的角度,如
a=45o支持P6格式的PPM图像。
voidGammaCorrection(char*伽马校正,input是输入文件名,output
input,char*output,doublea)是输出文件名°a是gamma数,如a=0.50
支持P6格式的PPM图像。
void生成灰度图以及RGB通道分离,input
GrayAndChannelSeparation(char*是输入的P6格式的PPM图像;
input,char*Grayoutput,char*Grayoutput是输出的灰度图文件名,
Routput,char*Goutput,char*Routput^Goutput和Boutput分别是输
Boutput)出的R、G和B通道的图像文件名,输
出都是PGM格式文件。
voidPGMBin(char*input,char*灰度图像二值化,输入是灰度图像,输
output,intthreshold)入和输出都是PGM文件,threshold是
阈值,如thresholds25。
voidBrightening(char*彩色图像增亮,输入和输出都是P6格
input,char*output,inta)式的PPM图像,a是增亮系数,如a=80o
voidGrayBrightening(char*灰度图像增亮,输入和输出都是PGM图
input,char*output,inta)像,a是增亮系数,如a=80。
voidPPMFilter(char*input,char*彩色图像滤波,输入和输出都是P6格
output)式的PPM文件。
voidPGMGrayFi1ter(char*灰度图像滤波,输入和输出都是PGM图
input,char*output)像。
voidPPMtoBMP(char*input,char*PPM图像转BMP图像,input是输入文
output)件名,。utput是输出文件名。支持P6
格式的PPM图像。
voidPGMOtsuThreshold(string大津阈值法,input是输入文件名,
input,char*output)output是输出文件名。支持P5格式的
PGM图像。
void局部大津阈值,input是输入文件名,
PGMLocalisedOtsuThreshold(stringoutput是输出文件名。支持P5格式的
input,char*output)PGM图像。
voidPGMSauvolaThreshold(string索沃拉阈值,支持P5格式的PGM图像。
input,char*output,doublea、b和c的参考值如:
a,doubleb,doublec)a=0.01,b=15,c=2250
voidPGMThreshold(string阈值法,input是输入文件名,output
input,char*output,intthresh)是输出文件名。支持P5格式的PGM图
像。thresh是阈值,如:thresh=5o
floatRepairl(char*input,char*图像修复,var是噪声方差,threshold
output,floatvar,float是阈值,nbLevels是要处理的级别数,
threshold,intnbLevels,floata)a=10o返回ISNRo
floatRepair2(char*input,char*图像修复,var是噪声方差,threshold
output,floatvar,float是阈值,nbLevels是要处理的级别数,
threshold,intnbLevels,floata)a=10o返回ISNRo
voidLowPassFi11erRepair1(char*低通滤波图像修复,a=10,b=6,
input,char*output,intnbLevels=3,size_filler是低通过滤
size_filter,floatvar,int器的大小,var是噪声方差,
nb_iterations,intnbLevels,floatnb_iterations是Landweber的迭代
a,intb)数。
voidLowPassFi1terRepair2(char*低通滤波图像修复,a=10,b=6,
input,char*output,intnbLevels=3,size_filter是低通过滤
size_filter,floatvar,int器的大小,var是噪声方差,
nb_iterations,intnbLevels,floatnb_iterations是Landweber的迭代
a,intb)数;
floatLowPassFilterRepair3(char*低通滤波图像修复,a=10,b=6,
input,char*output,intnbLevels=3,pas=l,size_filter是低
size_filter,floatvar,int通过滤器的大小,var显噪声方差,
nb_iterations,intnbLevels,intnb_iterations是Landweber的迭代
pas,floata,intb)数。返回ISNRo
voidRepairl(char*input,char*图像修复,a=0.0,M是分解的层次数,
output,intM,floata)如M=3o
voidRepair2(char*input,char*图像修复,a=0.0,M是分解的层次数,
output,intM,floata)如M=3o
voidMakeNoisel(char*制造噪声,size_filter是低通滤波器
input,char*output,int的宽度。
size_filter)
voidMakeNoise2(char*制造噪声,nb_iterations是Landweber
input,char*output,int的迭代数,pas=lo
nb_iterations,intpas)
voidMakeNoise3(char*output,int制造噪声,height是输出图像的高,
height,intwidth,floatvar)width是输出图像的宽,var是噪声方
差。
voidMakeNoise4(char*制造噪声,nb_iterations是Landweber
input,char*output,int的迭代数,pas=lo
nb_iterations,intpas)
voidImageReconstruetion(char*图像重建,支持PGM文件。参考:
input,char*output,intmaxDepth=80,threshold=50,tx=0,
maxDepth,intthreshold,intty=0o
tx,intty)
YUV图像处理
voidYUVsuperposition(char*inputl,char*YUV420叠加,Y_BLACK、
input2,char*output,intwidth,intU_BLACK和V_BLACK用于将
height,unsignedcharY_BLACK,unsignedchar扇图中的黑底变成透明,参
U_BLACK,unsignedcharVBLACK)考:Y_BLACK=16,
U_BLACK=128,
V_BLACK=128o
voidYUVsuperposition(char*inputl,char*YUV444叠加,Y_BLACK、
input2,char*output,intwidth,intU_BLACK和V_BLACK用于将
height,unsignedcharYBLACK,unsignedchar扇图中的黑芯变成透明,参
U_BLACK,unsignedcharVBLACK)考:Y_BLACK=16,
U_BLACK=128,
V_BLACK=128o
voidYUVsuperposition(char*inputl,char*yuv444p直接叠加到
input2,char*output,intwidth,intyuv420p上,不做转换,
height,unsignedcharY_BLACK,unsignedcharY_BLACK、U_BLACK和
U_BLACK,unsignedcharVBLACK)V_BLACK用于将原图中的黑
应变成透明,参考:
Y_BLACK=16,U_BLACK=128,
V_BLACK=128o
voidYUV444toYUV420(char*input,char*YUV444转YUV420,height
output,intheight,intwidth)是输入的YUV444文件的高,
width是输入的YUV444文
件的宽。
voidYUV444toYUV420(char*input,char*YUV444转YUV420,height
output,intheight,intwidth,intframes)和width是输入文件的高和
宽,frames是要输入文件中
操作的帧序号。
voidYUVsuperposition(char*inputl,char*YUV444转到YUV420上的叠
input2,char*output,intwidth,int加,Y_BLACK、U_BLACK和
height,unsignedcharYBLACK,unsignedcharV_BLACK用于将原图中的黑
U_BLACK,unsignedcharV_BLACK)应变成透明,参考:
Y_BLACK=16,U_BLACK=128,
V_BLACK=128o
voidYUVEdgeProcessingY(char*input,char*YUV边缘处理,input是输
output,intwidth,intheight,doublek)入文件名,output是输出文
件名。width和height是输
入图像的宽和高。参考:
k=0.50
voidYUVEdgeProcessingU(char*input,char*YUV边缘处理,input是输
output,intwidth,intheight,doublek)入文件名,output是输出文
件名。width和height是输
入图像的宽和高。参考:
k=0.5o
voidYUVEdgeProcessingV(char*input,char*YUV边缘处理,input是输
output,intwidth,intheight,doublek)入文件名,output是输出文
件名。width和height是输
入图像的宽和高。参考:
k=0.50
voidBMPLoadedlntoYUV(char*inputBMP,char*YUV加载BMP,inputBMP是
inputYUV,char*output,intYUVwidth,int输入的BMP图像,inputYUV
YUVheight,intdepth,boolmt)是输入的YUV图像,
inputYUV起到容器的作用,
YUVwidth和YUVheight是
输入的YUV图像的宽和高,
参考:depth=12,mt=trueo
voidYUV仅水平方向的边缘处
YUVEdgeProcessingHorizontalDirection(char*理,input是输入文件名,
input,char*output,intwidth,intoutput是输出文件名。
height,doublek)width和height是输入图
像的宽和高。参考:k=0.70
voidYUVVieoEdgeProcessing(char*YUV视频文件边缘处理,
input,char*output,intwidth,intinput是输入文件名,
height,intframe,intmax_frame)output是输出文件名。
width和height是输入图
像的宽和高,frame是要处
理的帧序号,max_frame是
最大帧序号。
voidYUVScale(char*input,char*output,int缩放yuv420图像,参考:
inputWidth,intinputHeight,intinputWidth=1280,
outputwidth,intoutputHeight)inputHeight=720,
outputWidth=128,
outputHeight=72o
voidNoiseTreatment(char*input,char*YUV噪声处理。
output,intwidth,intheight,int
TWICEwidth,intTWICEheight)
voidNoiseTreatment(char*input,char*YUV噪声处理。
output,intwidth,intheight,intframe,int
max_frame)
RAW图像处理
unsignedchar**RAWRead(char*读取RAW图像。
input,intheight,intwidth)
voidRAWWrite(unsignedchar**保存RAW图像。
input,char*output,intheight,int
width)
voidMBVQ(char*input,char*MBVQ效果,input是输入文件名,
output,intwidth,intheight)output是输出文件名。width和
height是输出图像的宽和高。
voidRAWtoPPM_red(char*RAW转为PPM后提取红色通道,参考:
input,char*output,intwidth,intwidth=4096,height=3072,
height,DebayerAlgorithmalgo)algo=NEARESTNEIGHBOUR或LINEAR。
支持RAW12格式。
需引入以下枚举:
enumDebayerA1gorithm{
NEARESTNEIGHBOUR,
LINEAR
);
voidRAWtoPPM_greenl(char*RAW转为PPM后提取绿色1通道,参
input,char*output,intwidth,int考:width=4096,height=3072,
height,DebayerA1gorithmalgo)algo=NEARESTNEIGHBOUR或LINEAR。
支持RAW12格式。
需引入以下枚举:
enumDebayerA1gorithm{
NEARESTNEIGHBOUR,
LINEAR
};
voidRAWtoPPM_green2(char*RAW转为PPM后提取绿色2通道,参
input,char*output,intwidth,int考:width=4096,height=3072,
height,DebayerAlgorithmalgo)algo=NEARESTNEIGHBOUR或LINEAR。
支持RAW12格式。
需引入以下枚举:
enumDebayerAlgorithm{
NEARESTNEIGHBOUR,
LINEAR
);
voidRAWtoPPM_blue(char*RAW转为PPM后提取蓝色通道,参考:
input,char*output,intwidth,intwidth=4096,height=3072,
height,DebayerAlgorithmalgo)algo=NEARESTNEIGHBOUR或LINEAR0
支持RAW12格式。
需引入以下枚举:
enumDebayerAlgorithm{
NEARESTNEIGHBOUR,
LINEAR
);
voidRAWtoPPM(char*input,char*RAW转为PPM,参考:width=4096,
output,intwidth,intheight=3072,
height,DebayerAlgorithmalgo)algo=NEARESTNEIGHBOUR或LINEAR。
支持RAW12格式。
需引入以下枚举:
enumDebayerA1gorithm{
NEARESTNEIGHBOUR,
LINEAR
);
voidRawPowerTransformation(char*累次变换,input是输入的RAW图像
input,char*output,intwidth,int文件名,output是输出的RAW图像文
height,intc,floatv)件名,width是输入图像的宽,height
是输入图像的高。默认c=l,v=0.60
支持RAW图像。
voidRAWAvgFi11er(char*平均滤波器,input是输入文件名,
input,char*output,intROWS,intoutput是输出文件名。ROWS是图像的
COLS,intM,floatmask[3][3])行大小,COLS是图像的列大小,M是
滤波相关参数,如M=l;mask是滤波
器模板。支持RAW图像。
参考模板:
floatmask[3][3]=
{{0.1111,0.1111,0.1111},
{0.1111,0.1111,0.1111},
{0,1111,0.1111,0.1111}};
voidRawimageinversion(char*图像反相,input是输入的RAW图像
input,char*output,intwidth,int文件名,output是输出的RAW图像文
height)件名,width是输入图像的宽,height
是输入图像的高。支持RAW图像。
void直方图均衡化,input是输入的RAW
RawHistogramEqualization(char*图像文件名,output是输出的RAW图
input,char*output,intwidth,int像文件名,width是输入图像的宽,
height)height是输入图像的高。支持RAW图
像。
voidRAW直方图均衡化,width和height
RAWHistogramEqualization(char*是输入图像的宽和高。
input,char*output,intwidth,int
height)
voidRAWMedianFilter(char*中值滤波,input是输入文件名,
input,char*output,intROWS,intoutput是输出文件名。ROWS是图像的
COLS,intM,intsequence[9])行,COLS是图像的列,M是滤波相关
参数,如M=l。支持RAW图像。
参考模板:
int
sequence[9]={0,0,0,0,0,0,0,0,0);
voidRawtoBmpl(char*input,char*RAW图像转为BMP图像,input是输
output,unsignedlongWidth,入文件名,output是输出文件名。
unsignedlongHeight)Width和Height是输入文件的宽和
高。
voidRawToBmp(char*input,char*RAW图像转为BMP图像,input是输
output,intimageWidth,int入文件名,。utput是输出文件名。支
imageHigth)持宽和高相等的图像。
voidRGBtoHSI(char*input,char*RGB模型转为HIS模型,input是输
output)入文件名,output是输出文件名。支
持24位BMP图像。
voidCyanGray(char*input,char*青色灰度图像。
output,intwidth,intheight)
voidMagentaGray(char*input,char*品红灰度图像。
output,intwidth,intheight)
voidYellowGray(char*input,char*黄色灰度图像。
output,intwidth,intheight)
voidTransfer(char*input,char*传递函数。
output,intwidth,intheight)
voidHomography(char*input1,char*单应。
input2,char*input3,char*
output,intwidth,intheight,int
newidth,intnewheight)
voidMovieEffect(char*input,char*电影效果。
output,intwidth,intheight)
voidFixedThresholdMethod(char*抖色处理,固定阈值法。
input,char*output,intwidth,int
height)
voidRandomThresholdMethod(char*抖色处理,随机阈值法。
input,char*output,intwidth,int
height)
voidDitherMatrixMethod(char*抖色处理,抖动矩阵法,默认N=2。
input,char*output,intwidth,int
height,intN)
voidNormalizedLogBufferl(char*对数变换,规范化对数。
input,char*output,intwidth,int
height)
voidNormalizedLogBuffer2(char*对数变换,规范化对数。
input,char*output,intwidth,int
height)
voidTernaryGrayLevel1(char*三值灰度。
input,char*output,intwidth,int
height)
voidTernaryGrayLevel2(char*三值灰度。
input,char*output,intwidth,int
height)
voidBestEdgeMapl(char*最佳边贴图。
input,char*output,intwidth,int
height)
voidBestEdgeMap2(char*最佳边贴图。
input,char*output,intwidth,int
height)
voidSkeletonize(char*input,char*骨架化。
output,intwidth,intheight)
voidSeparableDiffusion(char*可分离扩散。
input,char*output,intwidth,int
height)
voidDenoising(char*input1,char*去除噪声。
input2,char*output,intwidth,int
height)
voidLuminosity(char*input,char*亮度调整。
output,intwidth,intheight)
voidAverage(char*input,char*平均化。
output,intwidth,intheight)
voidMinMax(char*input,char*最小与最大。
output,intwidth,intheight)
voidShrink(char*input,char*收缩。
output,intwidth,intheight)
voidBilinearTransformation(char*双线性变换。
input,char*output,intwidth,int
height,intnewwidth,intnewheight)
voidDitherMatrixMethod(char*四级抖动,默认N=2。
input,char*output,intwidth,int
height,intN)
voidDewarpedl(char*input,char*脱蜡。a是在输出图像中检查半径是
output,intwidth,intheight,int否<=a,然后再进行扭曲,参考:
Offset,doublea,doubleb)0ffset=256,a=256.5,b=0.5。
voidDewarped2(char*input,char*脱蜡。a是在输出图像中检查半径是
output,intwidth,intheight,int否烂a,然后再进行扭曲,参考:
Offset,doublea,doubleb,double0ffset=256,a=256.5,b=0.5。
coeffx[12],doublecoeffy[12])脱蜡规范:
doublecoeffx[12]=
{1.00056776e+00,-5.68880703e-
04,-1.13998357e-03,
1.00056888e+00,-
5.65549579e-04,-1.13554790e-03,
9.99434446e-01,
5.66658513e-04,1.13110351e-
03,
9.99433341e-01,
5.67767429e-04,1.13553921e-
03);
doublecoeffy[12]={-
5.67763072e-04,1.00056888e+00,
1.13998357e-03,
5.68880703e-04,
9.99434450e-01,-1.13554790e-03,
5.65553919e-04,
9.99433341e-01,-1.13110351e-03,
-5.66658513e-04,
1.00056777e+00,1.13553921e-
03};
voidTextureSegmentationl(char*纹理分割,默认K=6,N=100o
input,char*output,intwidth,int
height,intK,intN)
voidTextureSegmentation2(char*纹理分割,默认K=6,N=100o
input,char*output,intwidth,int
height,intK,intN)
voidTextureClassification(vector纹理分类,a是要分类的图像的数量,
<string>filename,char*output,int如filename里有3个图像名称,则
width,intheight,intK,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育个人课题申报书范例
- 课题申报书点评模板
- 兵团立项课题申报书
- 课题申报书格式
- 陕西课题申报书范文样本
- 乌鲁木齐供用热合同范本
- 怎么填课题申报书
- 品牌专利持有合同范本
- 会展场馆租赁合同范本
- 科学技术课题申报书
- 2024全国各省高考诗歌鉴赏真题及解析
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- 人教版小学数学四年级下册第一单元测试卷附答案(共9套)
- 中考复习复分解反应类型方程式书写训练题(无答案)
- 病理学课程标准
- 防水板台车施工方案
- 小学三年级数独比赛“六宫”练习题
- 实验一、仪器的认领、洗涤、干燥及样品的称量
- 通桥(2013)8388A常用跨度梁桥面附属设施_图文
- 财务经理的绩效考核办法
- 油田科研单位有效发挥技术专家作用初探
评论
0/150
提交评论