【Mathematica基础系列】如何处理图像(二)

2024-10-12 05:16:38

1、首先,作为一个觥铖鹄妇良好的操作习惯,我们在首行输入Clear["Global`*"]来清理内存中不需要的存储信息,接下来我们还是首先导入一幅需要修观鲼视防改的图片,本文中依旧导入一架直升机作为例子,导入代码为Import["C:\\Users\\xxx\\Desktop\\Jingyan\\helicopter.jpg"],然后我对他大小进行了调整i=ImageResize[%,760],表示将该图片改为760大小,而后赋值给变量i;

【Mathematica基础系列】如何处理图像(二)

3、一般来说,ImageAdjust函数能用于执行绝大多数普遍需要的对比度伸展和幂律变换,所以这里介绍用ImageAdjust函数对图像就行线性对比度调节,具体代码为:ImageAdjust[i, 1.5],作为一个参数,1.5是可以更改的;

【Mathematica基础系列】如何处理图像(二)

5、引用上一步的函数,输入代码:ImageApply[G[#, 0.5, 0.1] &, i],其中G就是上述的非线性函数,我们将其应用到自己的样例图片,一下子就实现了对比度的非线性修改;

【Mathematica基础系列】如何处理图像(二)

7、有时候黑白二色又太少,原图色彩又太丰富,我们该怎么办?这时ColorQuantize函数就派上用场了,输入代码:ColorQuantize[i, 3],你就可以得到下图中只含有3中色彩的图像,当然你可以修改这个数值,改成4或者5就能得到对应数值的色彩数;

【Mathematica基础系列】如何处理图像(二)

9、经常看到一些专业相机或者图象处理软件的高级模糊功能,这里,我将给你揭露它的原理,其实这就是一个滤波的过程,选择性地过滤掉一些色彩元素,来实现整体的模糊效果,比如输入平滑滤波代码:ImageConvolve[i, BoxMatrix[5]/121.],就可以得到如图所示的模糊效果

【Mathematica基础系列】如何处理图像(二)

11、听说过高斯模糊吧,在专业图像软件中耳熟能详的名词,其实就是和我们数学中学过的高斯函数直接挂纫栾荷痂钩的,在mathematica中,我们直接用同一个像素半径为 r 的 Gaussian 内璀煌蒈琊核卷积就可以实现图像的高斯模糊哦,看代码:Table[GaussianFilter[i, r], {r, 2, 12, 2}],我给半径r分配了2,4,6,8,10,12六个值,输出六幅图像,观察图片可见半径r决定了高斯模糊的模糊程度;

【Mathematica基础系列】如何处理图像(二)
猜你喜欢