函數(shù)簽名:
add_image(Image1, Image2 : ImageResult : Mult, Add : )
功能說明:
兩圖像逐像素相加
詳細描述:
本算子將兩幅圖像進行相加辣往。輸入圖像(Image1,Image2)的灰度值(g1,g2)按照如下方式進行轉(zhuǎn)化:
如果發(fā)生數(shù)值溢出旺聚,則灰度值將被裁剪。注意這種情況在圖像類型為cyclic(循環(huán))和direction(方向)時不會發(fā)生杠人。結(jié)果圖像保存在ImageResult中。
可以在一次調(diào)用中處理多張圖像宋下。在這種情況下嗡善,兩個輸入圖像參數(shù)中包含的圖像數(shù)相同,這些圖像會被按對進行處理学歧。每一對輸入圖像產(chǎn)生一個輸出圖像罩引。
請注意本算子的運行時間因不同的控制參數(shù)而異。本算子對經(jīng)常使用的組合進行了特別優(yōu)化枝笨。對于類型為byte,int2,uint2和int4類型的圖像袁铐,使用的是SIMD(單指令多數(shù)據(jù))技術(shù)進行了優(yōu)化揭蜒。這些特別優(yōu)化在實際應用中被系統(tǒng)參數(shù)'mmx_enable'控制(參見set_system)。如果'mmx_enable'被設置為'true'(并且SIMD指令集是可用的)剔桨,則內(nèi)部計算使用SIMD技術(shù)進行忌锯。
對于byte,int1,int2,uint2,int4,real,direction,cyclic和complex類型的圖像,本算子可以在OpenCL設備上執(zhí)行领炫。然而偶垮,對于OpenCL1.0,所有的設備都只支持單精度浮點型數(shù)據(jù)帝洪,且不是所有的舍入模式都支持似舵,因此,OpenCL實現(xiàn)產(chǎn)生的結(jié)果和標量實現(xiàn)或者SIMD實現(xiàn)產(chǎn)生的結(jié)果可能有些微差異葱峡。
注意事項:
注意砚哗,由SIMD技術(shù)帶來的加速在大的、緊湊的輸入?yún)^(qū)域達到頂峰砰奕。在極少數(shù)情況下蛛芥,使用SIMD技術(shù)的執(zhí)行時間比不使用SIMD技術(shù)的執(zhí)行時間明顯要長,這取決于輸入?yún)^(qū)域以及硬件的性能军援。在這種情況下仅淑,可以通過調(diào)用set_system(::'mmx_enable','false':)來避免使用SIMD技術(shù)。
并行化:
- 支持OpenCL計算設備
- 多線程類型:可重入(非獨占并行運行算子)
- 多線程作用域:全局(可以從任何線程調(diào)用)
- 在tuple(元組)級別自動并行
- 在channel(通道)級別自動并行
- 在domain(域)級別自動并行
參數(shù)說明:
Image1(輸入對象)
數(shù)據(jù)描述 | (多通道)圖像(數(shù)組) | |
---|---|---|
數(shù)據(jù)類型 | 對象(byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic* / complex*) *等被計算設備支持的類型 | |
意義 | 輸入圖像(數(shù)組)1 | |
默認值 | ||
建議值 | ||
限制 |
Image2(輸入對象)
數(shù)據(jù)描述 | (多通道)圖像(數(shù)組) |
---|---|
數(shù)據(jù)類型 | 對象(byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic* / complex*) *等被計算設備支持的類型 |
意義 | 輸入圖像(數(shù)組)2 |
默認值 | |
建議值 | |
限制 |
ImageResult(輸出對象)
數(shù)據(jù)描述 | (多通道)圖像(數(shù)組) |
---|---|
數(shù)據(jù)類型 | 對象(byte / int1 / int2 / uint2 / int4 / int8 / real / direction / cyclic / complex) |
意義 | 加法運算的結(jié)果圖像(數(shù)組) |
默認值 | |
建議值 | |
限制 |
Mult(輸入控制參數(shù))
數(shù)據(jù)描述 | 數(shù)值 |
---|---|
數(shù)據(jù)類型 | (real / integer) |
意義 | 灰度值拉伸因子 |
默認值 | 0.5 |
建議值 | 0.2, 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 5.0 |
限制 | -255.0 ≤ Mult ≤ 255.0 |
最小增量 | 0.001 |
建議增量 | 0.1 |
Add(輸入控制參數(shù))
數(shù)據(jù)描述 | 數(shù)值 |
---|---|
數(shù)據(jù)類型 | (real / integer) |
意義 | 灰度提升值 |
默認值 | 0.5 |
建議值 | 0, 64, 128, 255, 512 |
限制 | -512.0 ≤ Add ≤ 512.0 |
最小增量 | 0.01 |
建議增量 | 1.0 |
結(jié)果:
參數(shù)都正確的情況下本算子返回值為2(H_MSG_TRUE)胸哥。輸入為空的情況下(無可獲得的輸入圖像),該算子的行為通過算子set_system(::'no_object_result',<Result>:)來設置涯竟。如有必要,該算子會觸發(fā)異常空厌。