Steve与MATLAB图像处理

图像处理概念、算法和MATLAB

如何使用自定义内核变换

最近我和 MathWorks编者Jessica Berner谈 缩放函数参考页 .Jessica指出,我们没有实例显示如何使用自己的内核万博1manbetx今日文章中,我比较样本图像上支持内核, 并教你怎么使用内核
万博1manbetx不同方法支持 变换大小 ,包括 百科全书 , bicuc , 朗索斯2 lanczos3 中对应使用 插值内核 中称 插句式 双线性法使用三角内核,定义如下:
f级 高山市 X级 ) = {{ 一号 - | X级 | | X级 | 一号 0 以别的方式 " style="vertical-align:-14px"> f级 高山市 X级 ) = {{ 一号 - | X级 | | X级 | 一号 0 以别的方式
fplot(@triangle,[-3.53.5]
函数 三角形 以及其他插值内核函数
双立方法使用分片立方内核
f级 高山市 X级 ) = {{ 一号 . 5 | X级 | 3 - 2 . 5 | X级 | 2 + 一号 | X级 | 一号 - 0 . 5 | X级 | 3 + 2 . 5 | X级 | 2 - 4 | X级 | + 2 一号 | X级 | 2 0 以别的方式 " style="vertical-align:-25px"> f级 高山市 X级 ) = {{ 一号 . 5 | X级 | 3 - 2 . 5 | X级 | 2 + 一号 | X级 | 一号 - 0 . 5 | X级 | 3 + 2 . 5 | X级 | 2 - 4 | X级 | + 2 一号 | X级 | 2 0 以别的方式
fplot(@cubic,[-3.53.5]
lanczos2和lanczos3方法基础 朗卓斯插值圈 定义如下 a/ = 2 样式=垂直对齐5px a/ = 2 a/ = 3 样式=垂直对齐5px a/ = 3 :
f级 高山市 X级 ) = {{ sinc 高山市 X级 ) sinc 高山市 X级 / a/ ) | X级 | a/ 0 以别的方式 " style="vertical-align:-14px"> f级 高山市 X级 ) = {{ sinc 高山市 X级 ) sinc 高山市 X级 / a/ ) | X级 | a/ 0 以别的方式
lanczos2=@(x)lanczos2
lanczos3=@(x)lanczos(x3);
fplots2,[-3.53.5
悬停
fplot(lanczos3,[-3.53.5]
悬停关机
传说[蓝氏2号,蓝氏3)
插值内核常通过微小图像重定位为数倍大测试和比较小图标图像
image_url="https://blogs.mathworks.com/steve/files/region-analyzer-icon.png";
A=预读(image_url);
imshow(A"InitialMagnification"百元
使用各种插值法并比较结果,让我们放大图像乘以10
B_Nearest = 变换大小(A10近距离);
B_Bilinear=原型百科全书);
B_Bicubic=变换大小bicuc);
B_lanczos2=变换大小朗索斯2);
B_lanczos3=变换大小lanczos3);
montage({B_Nearest,B_Bibile.
"BackgroundColor",白字)
近邻结果左上角似乎相当阻塞性图像处理工具箱早期,双线性(中上结果)为默认法多数方面比近邻结果更好,但看起来确实有点模糊化。
双立方结果(右上方)和lanczos2结果(左下方)看起来非常相似插值内核的非零宽度为4 X级 = - 2 样式=垂直对齐5px X级 = - 2 X级 = 2 样式=垂直对齐5px X级 = 2 并有负面叶这些结果比双线性结果清晰举个例子,仔细观察图像顶端数字3和8
lanczos3内核非零宽度为6,每端均有负正叶lanczos3结果(低中间值)比双立方和lanczos2结果锐化,但受可见的环形效果的影响通过寻找灰边界外微弱回声或直视从图像中间流下厚黑条的左对右
本图像我偏爱双立方法 变换大小 默认)或lanczos2方法
曾有各种研究实验 不同类型的内核处理图像举个例子 Minhu和Jieqing Tan的论文 计算应用数学杂志 195(2006)46-53探索从片面推理函数使用
f级 高山市 X级 ) = {{ - 0 . 168号 | X级 | 2 - 0 . 9129 | X级 | + 一号 . 0808 | X级 | 2 - 0 . 8319 | X级 | + 一号 . 0808 | X级 | 一号 0 . 公元1953 | X级 | 2 - 0 . 5858 | X级 | + 0 . 三九零五 | X级 | 2 - 2 . 4402 | X级 | + 一号 . 7676 一号 < | X级 | 2 0 2 < | X级 | " style="vertical-align:-44px"> f级 高山市 X级 ) = {{ - 0 . 168号 | X级 | 2 - 0 . 9129 | X级 | + 一号 . 0808 | X级 | 2 - 0 . 8319 | X级 | + 一号 . 0808 | X级 | 一号 0 . 公元1953 | X级 | 2 - 0 . 5858 | X级 | + 0 . 三九零五 | X级 | 2 - 2 . 4402 | X级 | + 一号 . 7676 一号 < | X级 | 2 0 2 < | X级 |
下图看起来像
fplot(@osc,[-3.53.5]
使用内核调整图像大小时,指定函数控件和非内核宽度(4,本例为4)为方法 变换大小 :
B_OSC=变换型(A10+#OSC4});
比较结果
montage({B_earest,B_bilinear,B_bicubic,B_lanczos2,B_czos3,B_os.
"BackgroundColor",白字)
依我看,这个更新插件内核 产生最优结果群略微锐化比双立方和单立方2结果,略平对角边缘,但不按环立方3结果完全评估内核性能需要审查各种不同的图像和尺度因子
曾用定制内核 变换大小 ?使用什么留点评语后通知我们
谢天谢地Jessica 提醒我看看这个
函数显示f=三角形
f=(1-absxx).*
结束
函数显示f=立方公尺
absx=abssx
sx2=absx.#2
absx3=absx.
f=(1.5*bsx3-2.5*bsx2+1).*.
0.5*bsx3+2.5*bsx2-4*bsx+2.
1 < absx) & (absx++2)
结束
函数显示f=lanczos(xa)
f=sin(pi*x).*sin..
2*x.#2
f(bsx) >a)=0
fxsx0
结束
函数显示f=oscx
absx=abssx
sx2=absx.#2
f=.
0.168*bsx2- 0.9129*bsx+1.0808/.
+.
1 < absx.
bsx2-0.58x+0.3905./
结束
|
  • 打印

コメント

コメントを残すには、ここMathWorks MathWorks