deviation_image(Image : ImageDeviation : Width, Height : )
deviation_image计算图像Image 中,大小为(Width, Height)的矩形掩码内灰度值的标准差。
生成的图像在ImageDeviation中返回。
为了更好地利用输出图像中可用的灰度值范围,将结果乘以2。
如果参数Width, Height是偶数,则将它们更改为下一个较大的奇数值。
在图像边框处,灰色值被镜像。
deviation_image可以在OpenCL设备上执行。
由于使用了相同的OpenCL代码,所以应用了与mean_image相同的限制。
由于deviation_image内部使用单精度浮点运算,所以结果可能与CPU版本略有不同。
例程:
read_image(Image,'fabrik')
dev_display(Image)
deviation_image(Image,Deviation,9,9)
dev_display(Image)
1.entropy_image(Image : ImageEntropy : Width, Height : )
entropy_image计算图像Image 中大小为(Width, Height )矩形掩模内灰度值的熵。
得到的图像以ImageEntropy的形式返回,其中熵乘以32。
如果参数Width, Height 是偶数,则将它们更改为下一个较大的奇数值。
在图像边框处,灰色值被镜像。
例程:
read_image(Image,'fabrik')
dev_display(Image)
entropy_image(Image,Entropy,9,9)
dev_display(Entropy)
2.texture_laws(Image : ImageTexture : FilterTypes, Shift, FilterSize : )
texture_laws将一纹理转换(根据定律)应用于图像。
这是通过将输入图像与一个特殊的滤波掩模进行卷积来实现的。
过滤器为:
9个不同的3×3矩阵,可由以下三个向量得到:
l = [ 1 2 1 ],
e = [ -1 0 1 ],
s = [ -1 2 -1 ]
25个不同的5×5矩阵,可由以下5个向量得到:
l = [ 1 4 6 4 1 ],
e = [ -1 -2 0 2 1 ],
s = [ -1 0 2 0 -1 ],
w = [ -1 2 0 -2 1 ]
r = [ 1 -4 6 -4 1 ],
49个不同的7×7矩阵可由以下7个向量得到:
l = [ 1 6 15 20 15 6 1 ],
e = [ -1 -4 -5 0 5 4 1 ],
s = [ -1 -2 1 4 1 -2 -1 ],
w = [ -1 0 3 0 -3 0 1 ],
r = [ 1 -2 -1 4 -1 -2 1 ],
u = [ 1 -4 5 0 -5 4 -1 ]
o = [ -1 6 -15 20 -15 6 -1 ]
过滤器的名字是 “level,” “edge,” “spot,” “wave,” “ripple,” “undulation,” and “oscillation.”
对于大多数过滤器,结果的灰度值必须通过Shift.来修改。
这使得输出图像中的不同纹理之间更具可比性,前提是使用合适的过滤器。
滤波器的名称由使用的两个向量的字母组成,
其中第一个字母表示列方向的卷积,第二个字母表示行方向的卷积。
例程:
read_image(Image,'combine')
texture_laws(Image,Texture1,'es',3,7)
|