多语言展示
当前在线:1367今日阅读:23今日分享:25

鉴别不同的图像卷积处理的模版的效果

在《ImageConvolve的用法》里面,我们知道,Mathematica把图像的卷积处理方法,整合为一个内置函数——ImageConvolve。本文,要尝试用不同的卷积模版,来处理下面的图片。让我们看看不同的效果。1ImageConvolve的用法
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

锐化处理的模版:p={{-1, -1, -1}, {-1, 9, -1}, {-1, -1, -1}}作用于图片a,代码是:ImageConvolve[a, p]

2

对图片a执行三次锐化处理:Nest[ImageConvolve[#, p] &, a, 3]

3

强化边界的模版:p={{-1, -1, -1}, {-1, 7, -1}, {-1, -1, -1}}

4

三次强化的结果:Nest[ImageConvolve[#, p] &, a, 3]

5

检测边缘的模版:p = {{-1, -1, -1}, {-1, 8, -1}, {-1, -1, -1}}

6

只检测水平方向的边界的模版:p={{-1, 0, 1}, {-1, 0, 1}, {-1, 0, 1}}

7

只检测竖直方向的边界的模版:p = {{-1, -1, -1}, {0, 0, 0}, {1, 1, 1}}

8

浮雕模版:p={{-1, -1, 0}, {-1, 0, 1}, {0, 1, 1}}

9

增大的浮雕模版:p={{-1, -1, -1, -1, 0},      {-1, -1, -1, 0, 1},       {-1, -1, 0, 1, 1},       {-1, 0, 1, 1, 1},       {0, 1, 1, 1, 1}}

10

随机模版:p = Table[RandomReal[{-10, 10}], 3, 3]出图都是随机的:{{-5.61132, -3.2055, 7.41874},  {5.22592, -5.03722, -4.98514},  {-3.07874, 0.989641, 9.59498}}和{{4.10093, -8.59619, 2.40976},   {6.4796, 5.27593, -0.260668},    {-9.39484, -2.87516, 7.44735}}

注意事项
1

上面的锐化模版等模版,都可以变大,只要不超过图片的大小就可以了。当然,大模版会增加计算量,且出图效果也不佳,因此,尽量使用3阶模版。

2

模版矩阵也不必都是方形矩阵,可以是3*4的矩阵。

3

卷积之后的像素值有可能超出图像颜色范围的最大值,因此需要对出图进行配准(ImageAdjust)。

推荐信息