曲面拟合的难处在哪里?

2025-11-03 00:57:36

1、给出一幅单通道图片。

曲面拟合的难处在哪里?

2、为了节省计算时间,这里把图片缩小。

img = ImageResize[img, 30]

曲面拟合的难处在哪里?

3、获取图片数据:

data=ImageData[img]

曲面拟合的难处在哪里?

4、把每一个像素的坐标转化为点坐标,并把像素值转化为数据集,得到一个三元数据集:

shuju = Flatten[

  Table[{m, n, data[[m, n]]}, {m, 1, Length[data], 1}, {n, 1, 

    Length[data[[1]]], 1}], 1]

曲面拟合的难处在哪里?

5、画出数据的散点图:

sandiantu = ListPlot3D[shuju, PlotRange -> All]

曲面拟合的难处在哪里?

6、用一种方案拟合数据:

nihe = Fit[shuju, {1, x, y, x y}, {x, y}]

并画出曲面图:

Plot3D[nihe, {x, 1, 30}, {y, 1, 30}]

与上面的散点图相差甚远。

曲面拟合的难处在哪里?

7、改变拟合方案,增加复杂度:

nihe = Fit[

  shuju, {x, y, x y, x^2, y^2, x^3, y^2, x y^2, x^2 y, x^4, y^4, 

   x y^3, x^3 y, x^2 y^2}, {x, y}]

看样子,复杂度还是不够。

曲面拟合的难处在哪里?

8、引进正弦函数:

nihe = Fit[shuju, 

  Sin /@ {x, y, x y, x^2, y^2, x^3, y^2, x y^2, x^2 y}, {x, y}]

曲面拟合的难处在哪里?

9、再增加复杂度:

nihe = Fit[shuju, 

  Flatten[{a0 = 

     Flatten[{1, Table[x^m y^n, {m, 1, 9, 1}, {n, 1, 9, 1}]}], 

    Sin /@ a0}], {x, y}]

曲面拟合的难处在哪里?

10、出图效果。

曲面拟合的难处在哪里?

11、用这个拟合出来的曲面,来还原原来的img:

Image[Table[nihe, {x, 1, 30, 1}, {y, 1, 30, 1}]]

把图片放大到500像素,结果得到下图,与原图相差太远。

曲面拟合的难处在哪里?

曲面拟合的难处在哪里?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢