|
QWGDR軟件已將常用圖像處理算法封裝成處理指令集。各條指令的調用語法說明如下:
12.00 書寫規則
圖像處理指令的書寫規則:
1)指令名稱遵循嚴格大小寫區分;
2)所有的字符均為英文半角字符;
3)不得出現空格等其它非法字符;
4)每條指令以分隔符"|"結束。
12.01 圖像保存
圖像保存:ToFile(szFullPath)
ToFile目前支持jpg、bmp兩種格式的圖像文件保存。
參數szFullPath為待保存圖像文件的完整路徑,不區分大小寫。
調用示例:
ToFile(f:\work\test.jpg)|
ToFile(f:\work\test.bmp)|
12.02 圖像轉換
轉換為多通道:ToImageNC(nChannel/*1,2,3,4*/)
轉換為單通道:ToImage1C(bFactor/*0.114*/,gFactor/*0.587*/,rFactor/*0.299*/,aFactor/*0*/)
轉換為YUV:ToImageYUV()
轉換為RGB:ToImageRGB()
轉換為YX:ToImageYX()
轉換為GS:ToImageGS(fAlphaG/*0.17*/)
轉換為GYX:ToImageGYX(fAlphaG/*0.25*/)
轉換為LYX:ToImageLYX()
轉換為VUYX:ToImageVUYX()
SG轉換為GS:SGToGS()
XRGB轉換為XBRG:XRGBToXBRG()
XRGB轉換為XGBR:XRGBToXGBR()
XRGB轉換為XRBG:XRGBToXRBG()
XRGB轉換為XGRB:XRGBToXGRB()
XRGB轉換為XBGR:XRGBToXBGR()
參數nChannel為通道數,取值[1,4]之間。
參數bFactor/gFactor/rFactor/aFactor為藍/綠/紅/透明四個顏色分量的加權因子,默認分別為0.114/0.587/0.299/0。
參數fAlphaG為灰度分量加權因子。
調用示例:
ToImageNC(3)|
ToImage1C(0.114,0.587,0.299,0)|
ToImageYUV()|
ToImageRGB()|
ToImageYX()|
ToImageGS(0.17)|
ToImageGYX(0.25)|
ToImageLYX()|
ToImageVUYX()|
SGToGS()|
XRGBToXBRG()|
XRGBToXGBR()|
XRGBToXRBG()|
XRGBToXGRB()|
XRGBToXBGR()|
ToImageNC(2)|
ToImageNC(1)|
12.03 顏色取反
取反:Negative(bOnlyGray/*0,1*/)
區域內部取反:NegativeInner(nRow1,nRow2,nCol1,nCol2)
區域外部取反:NegativeOuter(nRow1,nRow2,nCol1,nCol2)
參數bOnlyGray為是否只針對灰度圖像取反,取值0或1,默認為0,即對灰度圖像和非灰度圖像都取反。
參數nRow1/nRow2/nCol1/nCol2為圖像區域的最小行/最大行/最小列/最大列,從0開始計數。
調用示例:
Negative(0)|
NegativeInner(128,256,64,128)|
NegativeOuter(128,256,64,128)|
12.04 顏色重置
重置內部:ResetInner(bColor,gColor,rColor,aColor,nRow1,nRow2,nCol1,nCol2)
重置外部:ResetOuter(bColor,gColor,rColor,aColor,nRow1,nRow2,nCol1,nCol2)
參數bColor/gColor/rColor/aColor為待重置的藍/綠/紅/透明四個顏色分量,8位圖像的后三個分量為0,24位圖像的最后一個分量為0。
參數nRow1/nRow2/nCol1/nCol2為圖像區域的最小行/最大行/最小列/最大列,從0開始計數。
調用示例:
ResetInner(0,0,0,0,128,256,64,128)|
ResetOuter(0,0,0,0,128,256,64,128)|
12.05 顏色修改
修改內部:AlterInner(bOldColor,gOldColor,rOldColor,aOldColor,bNewColor,gNewColor,rNewColor,aNewColor,nRow1,nRow2,nCol1,nCol2)
修改外部:AlterOuter(bOldColor,gOldColor,rOldColor,aOldColor,bNewColor,gNewColor,rNewColor,aNewColor,nRow1,nRow2,nCol1,nCol2)
修改背景:AlterBkgnd(bOldColor,gOldColor,rOldColor,aOldColor,bNewColor,gNewColor,rNewColor,aNewColor)
參數bOldColor/gOldColor/rOldColor/aOldColor為待修改舊的藍/綠/紅/透明四個顏色分量,8位圖像的后三個分量為0,24位圖像的最后一個分量為0。
參數bNewColor/gNewColor/rNewColor/aNewColor為修改后新的藍/綠/紅/透明四個顏色分量,8位圖像的后三個分量為0,24位圖像的最后一個分量為0。
參數nRow1/nRow2/nCol1/nCol2為圖像區域的最小行/最大行/最小列/最大列,從0開始計數。
調用示例:
AlterInner(0,0,0,0,0,0,0,255,128,256,64,128)|
AlterOuter(0,0,0,0,0,0,0,255,128,256,64,128)|
AlterBkgnd(0,0,0,0,0,0,0,255)|
12.06 圖像裁剪
按指令裁剪:ClipC(strCommands/* |:\
(:< ):> ,:/
*/,bMinBkgndColor,gMinBkgndColor,rMinBkgndColor,aMinBkgndColor,bMaxBkgndColor,
gMaxBkgndColor,rMaxBkgndColor,aMaxBkgndColor,dnLeft,dnTop,dnRight,dnBottom)
按背景裁剪:ClipB(bMinBkgndColor,gMinBkgndColor,rMinBkgndColor,aMinBkgndColor,bMaxBkgndColor,gMaxBkgndColor,rMaxBkgndColor,
aMaxBkgndColor,dnLeft,dnTop,dnRight,dnBottom)
按相對區域裁剪:ClipR(fLeft/*0-1*/,fTop/*0-1*/,fRight/*0-1*/,fBottom/*0-1*/)
按最大尺寸裁剪:ClipM(nMaxHeight/*0*/,nMaxWidth/*0*/)
按絕對區域裁剪:Clip(nRow1,nRow2,nCol1,nCol2)
參數strCommands為圖像裁剪之前的處理指令,這里由于是嵌套指令,"|"用"\"替代,"("用"<"替代,")"用">"替代,","用"/"替代。
參數bMinBkgndColor/gMinBkgndColor/rMinBkgndColor/aMinBkgndColor為最小背景的藍/綠/紅/透明四個顏色分量。
參數bMaxBkgndColor/gMaxBkgndColor/rMaxBkgndColor/aMaxBkgndColor為最大背景的藍/綠/紅/透明四個顏色分量。
參數dnLeft/dnTop/dnRight/dnBottom為去除背景后向左/上/右/下四個方向擴展保留像素個數。
參數dfLeft/dfTop/dfRight/dfBottom為相對圖像區域,每個取值均在[0,1]之間。
參數nMaxHeight/nMaxWidth為最大高度/寬度,超出尺寸即被直接裁剪,未超出尺寸不做操作。
參數nRow1/nRow2/nCol1/nCol2為圖像區域的最小行/最大行/最小列/最大列,從0開始計數。
調用示例:
ClipC(ToImageNC<1>\Scale<0.5/0.5/1>\FilterMid<>\Sobel<255/0/1/0>\ThrsholdN<0/16/0/255>\Corrupt<1>\Dilate<1>\Contour<50>\
Scale<2/2/1>\,0,0,0,0,0,0,0,0,0,0,0,0)|
ClipB(0,0,0,0,16,16,16,16,2,2,2,2)|
ClipR(0.25,0.25,0.75,0.75)|
ClipM(1024,1024)|
Clip(128,256,64,128)|
12.07 圖像擴展
擴展一個像素:Extend1()
相對像素擴展:ExtendR(dlWidth/*>=0*/,dtHeight/*>=0*/,drWidth/*>=0*/,dbHeight/*>=0*/,nlFill/*>=0*/,ntFill/*>=0*/,
nrFill/*>=0*/,nbFill/*>=0*/)
絕對像素擴展:Extend(dlWidth/*>=0*/,dtHeight/*>=0*/,drWidth/*>=0*/,dbHeight/*>=0*/,nlFill/*>=0*/,ntFill/*>=0*/,
nrFill/*>=0*/,nbFill/*>=0*/)
參數dlWidth/dtHeight/drWidth/dbHeight為向左/上/右/下四個方向擴展的相對/絕對像素個數。
參數nlFill/ntFill/nrFill/nbFill為向左/上/右/下四個方向擴展填充的絕對像素個數,取值要求不小于0。
調用示例:
Extend1()|
ExtendR(0.125,0.125,0.125,0.125,8,8,8,8)|
Extend(128,128,128,128,8,8,8,8)|
ExtendR(0.125,0.125,0.125,0.125,0,0,0,0)|
Extend(128,128,128,128,0,0,0,0)|
12.08 圖像縮進
相對像素縮進:IndentR(dlWidth/*>=0*/,dtHeight/*>=0*/,drWidth/*>=0*/,dbHeight/*>=0*/)
絕對像素縮進:Indent(dlWidth/*>=0*/,dtHeight/*>=0*/,drWidth/*>=0*/,dbHeight/*>=0*/)
參數dlWidth/dtHeight/drWidth/dbHeight為向左/上/右/下四個方向擴展的相對/絕對像素個數。
調用示例:
IndentR(0.125,0.125,0.125,0.125)|
Indent (128,128,128,128)|
IndentR(0.125,0.125,0.125,0.125)|
Indent(128,128,128,128)|
12.09 圖像縮放
限制尺寸:Limit(nMinHeight,nMaxHeight,nMinWidth,nMaxWidth,nMode/*-1,0,1*/,nSampler/*0-4*/)
按比例縮放:Scale(xScale/*>0*/,yScale/*>0*/,nSampler/*0-4*/)
規范化尺寸:Normalize(nHeight,nWidth,nSampler/*0-4*/)
快速規范化尺寸:NormalizeQ(nHeight,nWidth)
參數nMinHeight/nMaxHeight/nMinWidth/nMaxWidth為限制圖像的最小高度/最大高度/最小寬度/最大寬度。
參數nMode為縮放模式,取值-1/0/1時,分別按xy比例取小者/xy比例分開/xy比例取大者縮放。
參數nSampler為采樣器,取值0/1/2/3/4時,分別為最鄰近插值/雙線性插值/雙三次插值/特征最鄰近插值/特征雙線性插值采樣器。
參數xScale/yScale為xy方向的縮放比例。
參數nHeight/nWidth為縮放后的圖像高度/寬度。
調用示例:
Limit(16,2048,16,2048,-1,0)|
Scale(0.5,0.5,1)|
Normalize(1024,1024,1)|
NormalizeQ(1024,1024)|
12.10 圖像旋轉
圖像旋轉:Rotate(fAngle,nSampler/*0-2*/)
圖像快速旋轉:RotateQ(fAngle)
參數fAngle為旋轉角度。
參數nSampler為采樣器,取值0/1/2時,分別為最鄰近插值/雙線性插值/雙三次插值采樣器。
調用示例:
Rotate(45,1)|
RotateQ(45)|
12.11 圖像變換
矩陣變換:Transform(M00,M01,M02,M10,M11,M12,M20,M21,M22,nSampler/*0-2*/)
Lambda變換:TransPow(fLambda,nSampler/*0-2*/)
參數M00/M01/M02/M10/M11/M12/M20/M21/M22為3*3變換矩陣。
參數nSampler為采樣器,取值0/1/2時,分別為最鄰近插值/雙線性插值/雙三次插值采樣器。
參數fLambda為fLambda變形因子。
調用示例:
Transform(0.5,0,0,0,0.5,0,0,0,1,1)|
TransPow(1.05,1)|
12.12 圖像翻轉
水平翻轉:FlipHorz()
垂直翻轉:FlipVert()
調用示例:
FlipHorz()|
FlipVert()|
12.13 圖像拉伸
位圖拉伸:Stretch()
加亮拉伸:Brighten(fKappa/*1*/,fBias/*0*/)
調整亮度:Adjust(fNewAveGray/*127.5*/)
對數拉伸:Logarithmic()
參數fKappa為線性拉伸斜率,默認為1。
參數fBias為線性拉伸截距,默認為0。
參數fNewAveGray為新的平均灰度,默認為127.5。
調用示例:
Stretch()|
Brighten(2,0)|
Adjust(100)|
Logarithmic()|
12.14 直方圖均衡化
均衡化:Equalize()
平滑均衡化:EqualizeS(fAlphaF/*0.2,0-1*/)
參數fAlphaF為加權系數,取值[0,1]之間,默認為0.2。
調用示例:
Equalize()|
EqualizeS(0.2)|
12.15 高斯平滑
高斯平滑:Gauss(nKappa/*3,>=1*/,fSigma/*2,!=0*/)
快速高斯平滑:GaussQ()
參數nKappa,要求不小1,默認為3。
參數fSigma,要求不等于0,默認為2。
調用示例:
Gauss(3,2)|
GaussQ()|
12.16 圖像濾波
中值濾波:FilterMid()
均值濾波:FilterAve()
調用示例:
FilterMid()|
FilterAve()|
12.17 非極大值抑制
非極大值抑制:Suppress()
調用示例:
Suppress()|
12.18 輪廓提取
輪廓提取:Contour(nMinLength)
參數nMinLength為輪廓最小線段長度。
調用示例:
Contour(8)|
Contour(16)|
12.19 梯度增強
Robert梯度增強:Robert(fMaxDerivation/*360,>0*/,fAlphaG/*0,0-1*/,fAlphaD/*1,0-1*/,bStretch/*0,1*/)
Prewitt梯度增強:Prewitt(fMaxDerivation/*1080,>0*/,fAlphaG/*0,0-1*/,fAlphaD/*1,0-1*/,bStretch/*0,1*/)
Sobel梯度增強:Sobel(fMaxDerivation/*1440,>0*/,fAlphaG/*0,0-1*/,fAlphaD/*1,0-1*/,bStretch/*0,1*/)
Laplacian梯度增強:Laplacian(fMaxDerivation/*720,>0*/,fAlphaG/*0,0-1*/,fAlphaD/*1,0-1*/,bStretch/*0,1*/)
Feature梯度增強:Feature(fMaxDerivation/*1020,>0*/,fAlphaG/*0,0-1*/,fAlphaD/*1,0-1*/,bStretch/*0,1*/)
參數fMaxDerivation為最大導數值,取值要求大于0,Robert/Prewitt/Sobel/Laplacian/Feature默認最大導數值分別為360/1080/1440/720/1020。
參數fAlphaG為灰度值的權重,取值[0,1]之間,默認為0。
參數fAlphaD為導數值的權重,取值[0,1]之間,默認為1。
參數bStretch為是否拉伸到位圖,取值0或1,默認為0不拉伸。
調用示例:
Robert(360,0,1,0)|
Prewitt(1080,0,1,0)|
Sobel(1440,0,1,0)|
Laplacian(720,0,1,0)|
Feature(1020,0,1,0)|
Robert(255,0,1,0)|
Prewitt(255,0,1,0)|
Sobel(255,0,1,0)|
Laplacian(255,0,1,0)|
Feature(255,0,1,0)|
12.20 邊緣提取
Canny邊緣提取:Canny(nKappa/*3,>=1*/,fSigma/*2,!=0*/,sFactorH/*0.618*/,sFactorL/*0*/,nDelta/*2,>0*/,fMinAreaR/*32*/,
fOffsetR/*32*/,fZeroColor/*0*/)
參數nKappa,取值要求不小于1,默認為3。
參數fSigma,取值要求不等于0,默認為2。
參數sFactorH,默認為0.618。
參數sFactorL,默認為0。
參數nDelta,取值要求大于0,默認為2。
參數fMinAreaR,默認為32。
參數fOffsetR,默認為32。
參數fZeroColor,默認為0。
調用示例:
Canny(3,2,0.618,0,2,32,32,0)|
Canny(3,2,0.889,0.618,2,32,32,0)|
Canny(3,2,0,-0.618,2,32,32,0)|
12.21 圖像二值化
正態雙閥值二值化:ThrsholdND(sFactorH/*0.618*/,sFactorL/*0*/,nDelta/*2,>0*/,fMinAreaR/*32*/,fOffsetR/*32*/,
fZeroColor/*0*/,fOneColor/*255*/)
正態閥值二值化:ThrsholdN(sFactor/*0*/,fMinColor/*1*/,fZeroColor/*0*/,fOneColor/*255*/)
固定閥值二值化:ThrsholdB(bBias,gBias,rBias,aBias,fZeroColor/*0*/,fOneColor/*255*/)
范圍閥值二值化:ThrsholdR(bBia1s,gBia1s,rBia1s,aBia1s,bBia2s,gBia2s,rBia2s,aBia2s,bInner1/*1,0*/,
fZeroColor/*0*/,fOneColor/*255*/)
參數sFactorH為高閥值正態因子,默認為0.618。
參數sFactorL為低閥值正態因子,默認為0。
參數nDelta為連通間距,取值要求大于0,默認為2。
參數fMinAreaR為最小包絡區域面積,默認32。
參數fOffsetR為矩形向外擴展像素個數,默認32。
參數fZeroColor為二值圖背景顏色,默認為0。
參數fOneColor為二值圖前景顏色,默認為255。
參數sFactor為閥值正態因子,默認為0。
參數fMinColor為二值化圖前景的最小顏色,默認為1。
參數bBias/gBias/rBias/aBias為閥值的藍/綠/紅/透明四個顏色分量。
調用示例:
ThrsholdND(0.618,0,2,32,32,0,255)|
ThrsholdN(0,1,0,255)|
ThrsholdB(16,16,16,16,0,255)|
ThrsholdR(16,16,16,16,240,240,240,240,1,0,255)|
ThrsholdND(0.889,0.618,2,32,32,0,255)|
ThrsholdN(0.618,32,0,255)|
ThrsholdB(32,32,32,32,0,255)|
ThrsholdR(32,32,32,32,224,244,244,244,1,0,255)|
12.22 圖像去噪聲
正態雙閥值去噪聲:DenoiseND(sFactorH/*0.618*/,sFactorL/*0*/,nDelta/*2,>0*/,fMinAreaR/*32*/,fOffsetR/*32*/,
fZeroColor/*0*/)
正態閥值去噪聲:DenoiseN(sFactor/*0*/,fMinColor/*1*/,fZeroColor/*0*/)
固定閥值去噪聲:DenoiseB(bBias,gBias,rBias,aBias,fZeroColor/*0*/)
范圍閥值去噪聲:DenoiseR(bBia1s,gBia1s,rBia1s,aBia1s,bBia2s,gBia2s,rBia2s,aBia2s,bInner1/*1,0*/,fZeroColor/*0*/)
參數sFactorH為高閥值正態因子,默認為0.618。
參數sFactorL為低閥值正態因子,默認為0。
參數nDelta為連通間距,取值要求大于0,默認為2。
參數fMinAreaR為最小包絡區域面積,默認32。
參數fOffsetR為矩形向外擴展像素個數,默認32。
參數fZeroColor為二值圖背景顏色,默認為0。
參數fOneColor為二值圖前景顏色,默認為255。
參數sFactor為閥值正態因子,默認為0。
參數fMinColor為二值化圖前景的最小顏色,默認為1。
參數bBias/gBias/rBias/aBias為閥值的藍/綠/紅/透明四個顏色分量。
調用示例:
DenoiseND(0.618,0,2,32,32,0)|
DenoiseN(0,1,0)|
DenoiseB(16,16,16,16,0)|
DenoiseR(16,16,16,16,240,240,240,240,1,0)|
DenoiseND(0.889,0.618,2,32,32,0)|
DenoiseN(0.618,32,0)|
DenoiseB(32,32,32,32,0)|
DenoiseR(32,32,32,32,224,244,244,244,1,0)|
12.23 顏色截斷
正態截斷:InterceptN(sMaxFactor/*1.618*/)
閥值截斷:InterceptB(bMaxColor,gMaxColor,rMaxColor,aMaxColor)
參數sMaxFactor為正態因子,默認為1.618。
參數bMaxColor/gMaxColor/rMaxColor/aMaxColor為最大顏色的藍/綠/紅/透明四個顏色分量。
調用示例:
InterceptN(1.618)|
InterceptB(255,255,255,255,255)|
12.24 膨脹腐蝕
膨脹:Dilate(nCount)
腐蝕:Corrupt(nCount)
參數nCount為連續膨脹/腐蝕次數。
調用示例:
Dilate(1)|
Corrupt(1)|
Dilate(5)|
Corrupt(5)|
12.25 邊界計算
邊界:Border()
調用示例:
Border()|
12.26 積分圖像
積分圖像:Integral()
調用示例:
Integral()|
12.27 區域生長
區域生長:RegionGrowing(fMaxDistC/*32*/,fMaxDist1/*4*/)
參數fMaxDistC默認為32。
參數fMaxDist1默認為4。
調用示例:
RegionGrowing(32,4)|
12.28 圖像加載
圖像加載:FromFile(szFullPath)
FromFile目前支持jpg、bmp、png三種格式的圖像文件加載。
參數szFullPath為待加載圖像文件的完整路徑,不區分大小寫。
調用示例:
FromFile(F:\QWFramework_pro\demo\blood_coord\coordinate.bmp)|
FromFile(f:\work\test.jpg)|
12.29 平均圖像
平均圖像:AveImage(<strImageDir>,strCommands/*
|:\ (:< ):> ,:/ */,nChannelN/*1,2,3,4*/,nHeightN,nWidthN,
nSamplerN/*1,0-4*/,bStretch/*1,0*/)
參數strImageDir為圖像目錄,不區分大小寫。
參數strCommands為計算平均圖像之前各圖像的處理指令,這里由于是嵌套指令,"|"用"\"替代,"("用"<"替代,")"用">"替代,","用"/"替代。
參數nChannelN為平均圖像的通道數,取值[1,4]之間。
參數nHeightN為平均圖像規范化高度。
參數nWidthN為平均圖像規范化寬度。
參數nSamplerN為采樣器,默認為1即雙線性插值采樣器。
參數bStretch為是否拉伸位圖,取值1或0,默認為1即拉伸位圖。
調用示例:
AveImage(f:\work\test_ave_image\,0\,3,1024,1024,1)|
AveImage(f:\work\test_ave_image\,ToImageLYX<>\,3,1024,1024,1)|
12.30 通道鏈接
通道鏈接:LinkOC()
LinkOC將當前操作圖像和緩沖區圖像按通道鏈接在一起,擴大圖像通道數,因此當前操作圖像和緩沖區圖像的通道數總和不得超過4。
調用示例:
LinkOC()|
12.31 顏色運算
顏色加上:Add(bColor,gColor,rColor,aColor)
顏色減去:Subtract(bColor,gColor,rColor,aColor)
顏色乘以:Multiply(bColor,gColor,rColor,aColor)
顏色除以:Divide(bColor,gColor,rColor,aColor)
參數bColor/gColor/rColor/aColor為將被加上/減去/乘以/除以給定顏色的藍/綠/紅/透明四個顏色分量。
調用示例:
Add(16,16,16,16)|
Subtract(16,16,16,16)|
Multiply(255,255,255,255)|
Divide(255,255,255,255)|
12.32 圖像運算
圖像相加:AddI(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bBkgndColor2,gBkgndColor2,
rBkgndColor2,aBkgndColor2,nSampler/*0-4*/)
圖像相減:SubtractI(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bBkgndColor2,gBkgndColor2,
rBkgndColor2,aBkgndColor2,nSampler/*0-4*/)
圖像差異:DifferI(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bBkgndColor2,gBkgndColor2,
rBkgndColor2,aBkgndColor2,nSampler/*0-4*/)
圖像相乘:MultiplyI(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bBkgndColor2,gBkgndColor2,
rBkgndColor2,aBkgndColor2,nSampler/*0-4*/)
圖像相除:DivideI(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bBkgndColor2,gBkgndColor2,
rBkgndColor2,aBkgndColor2,nSampler/*0-4*/)
圖像拷貝:Blit(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bBkgndColor2,gBkgndColor2,
rBkgndColor2,aBkgndColor2,nSampler/*0-4*/)
圖像混合:Blend(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,fAlpha/*0-1*/,bBkgndColor2,
gBkgndColor2,rBkgndColor2,aBkgndColor2,nSampler/*0-4*/)
圖像并集:BoolUnion(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bDstColor2,gDstColor2,rDstColor2,
aDstColor2,nClrOuterO/*0,1*/,nSampler/*0-4*/)
圖像交集:BoolIntersect(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bDstColor2,gDstColor2,rDstColor2,
aDstColor2,nClrOuterO/*0,1*/,nSampler/*0-4*/)
圖像差集:BoolSubtract(fLeft1,fTop1,fRight1,fBottom1,fLeft2,fTop2,fRight2,fBottom2,bDstColor2,gDstColor2,rDstColor2,
aDstColor2,nClrOuterO/*0,1*/,nSampler/*0-4*/)
圖像掩膜:Mask(bZeroColorM/*0*/,gZeroColorM/*0*/,rZeroColorM/*0*/,aZeroColorM/*0*/,bZeroColorO/*0*/,gZeroColorO/*0*/,
rZeroColorO/*0*/,aZeroColorO/*0*/,nChlAlone/*0,1*/,nSampler/*0-4*/)
參數fLeft1/fTop1/fRight1/fBottom1為當前操作圖像區域的左/上/右/下位置。
參數fLeft2/fTop2/fRight2/fBottom2為緩沖區圖像區域的左/上/右/下位置。
參數bBkgndColor2/gBkgndColor2/rBkgndColor2/aBkgndColor2為緩沖區圖像背景顏色的藍/綠/紅/透明四個顏色分量。
參數nSampler為采樣器,取值0/1/2/3/4時,分別為最鄰近插值/雙線性插值/雙三次插值/特征最鄰近插值/特征雙線性插值采樣器。
參數fAlpha為混合因子,取值[0,1]之間。
參數bDstColor2/gDstColor2/rDstColor2/aDstColor2為計算并/交/差集的目標顏色的藍/綠/紅/透明四個顏色分量。
參數nClrOuterO為是否清除當前操作圖像區域外的顏色,取值0或1,默認為0即不清除。
參數bZeroColorM/gZeroColorM/rZeroColorM/aZeroColorM為掩膜圖像的背景顏色的藍/綠/紅/透明四個顏色分量。
參數bZeroColorO/gZeroColorO/rZeroColorO/aZeroColorO為當前操作圖像被掩膜的清零顏色的藍/綠/紅/透明四個顏色分量。
參數nChlAlone為是否各個通道分開掩膜,取值0或1,默認0即不要各個通道分開掩膜。
調用示例:
AddI(0,0,1023,1023,0,0,1023,1023,0,0,0,0,1)|
SubtractI(0,0,1023,1023,0,0,1023,1023,0,0,0,0,1)|
DifferI(0,0,1023,1023,0,0,1023,1023,0,0,0,0,1)|
MultiplyI(0,0,1023,1023,0,0,1023,1023,0,0,0,0,1)|
DivideI(0,0,1023,1023,0,0,1023,1023,0,0,0,0,1)|
Blit(256,256,768,768,256,256,768,768,0,0,0,0,1)|
Blend
(256,256,768,768,256,256,768,768,0.5,0,0,0,0,1)|
BoolUnion(256,256,768,768,256,256,768,768,255,255,255,255,0,1)|
BoolIntersect(256,256,768,768,256,256,768,768,255,255,255,255,0,1)|
BoolSubtract(256,256,768,768,256,256,768,768,255,255,255,255,0,1)|
Mask(0,0,0,0,0,0,0,0,0,0)|
12.33 緩存函數
交換當前操作圖像和掩膜圖像:SwapOM()
交換當前操作圖像和緩沖圖像:SwapOC()
交換掩膜圖像和緩沖圖像:SwapMC()
掩膜圖像拷貝給當前操作圖像:CopyOM()
緩沖圖像拷貝給當前操作圖像:CopyOC()
當前操作圖像拷貝給掩膜圖像:CopyMO()
緩沖圖像拷貝給掩膜圖像:CopyMC()
當前操作圖像拷貝給緩沖圖像:CopyCO()
掩膜圖像拷貝給緩沖圖像:CopyCM()
調用示例:
SwapOM()|
SwapOC()|
SwapMC()|
CopyOM()|
CopyOC()|
CopyMO()|
CopyMC()|
CopyCO()|
CopyCM()|
12.34 繪制函數
繪制線段:DrawLine(bDstColor,gDstColor,rDstColor,aDstColor,x1,y1,x2,y2,fLineWidth/*1*/)
繪制四邊形:DrawRect(bDstColor,gDstColor,rDstColor,aDstColor,xlt,ylt,xrt,yrt,xrb,yrb,xlb,ylb,fLineWidth/*1*/)
參數bDstColor/gDstColor/rDstColor/aDstColor為線段/四邊形顏色的藍/綠/紅/透明四個顏色分量。
參數x1/y1為線段起點的x/y坐標位置,以像素為單位。
參數x2/y2為線段終點的x/y坐標位置,以像素為單位。
參數fLineWidth為線寬,以像素為單位,默認為1個像素。
參數xlt/ylt為四邊形左上角點的x/y坐標位置,以像素為單位。
參數xrt/yrt為四邊形右上角點的x/y坐標位置,以像素為單位。
參數xrb/yrb為四邊形右下角點的x/y坐標位置,以像素為單位。
參數xlb/ylb為四邊形左下角點的x/y坐標位置,以像素為單位。
調用示例:
DrawLine(0,0,255,0,0,0,1023,1023,1)|
DrawRect(0,0,255,0,0,0,1023,0,1023,1023,0,1023,1)|
12.35 設置函數
啟用CUDA:EnableCUDA(bEnable/*1,0*/)
設置圖像質量:SetQuality(nQuality/*95,0-100*/)
設置得分系數:SetAlphaSs(fAlphaSS/*0*/,fAlphaSA/*0*/,fAlphaSC/*0*/)
設置反轉大向量:SetInvBigVector(bInvBigVector/*0,1*/)
設置規范化通道向量:SetNormalizeChl(bNormalizeChl/*1,0*/)
設置評分系數:SetScoSRES(bSigErr/*0,1*/,bRevErr/*0,1*/,fErrPow/*1*/,fSimPow/*0*/)
這六個設置函數,只能在內核的圖像預處理指令里設置,在其它地方設置均無效。
通常情況下,不必調用這六個設置函數。
調用示例:
EnableCUDA(1)|
SetQuality(95)|
SetAlphaSs(0,0,0)|
SetInvBigVector(0)|
SetNormalizeChl(1)|
SetScoSRES(0,0,1,0)| |