时间:2021-07-01 10:21:17 帮助过:22人阅读
这篇博文说的比你给的清楚 http://www.cnblogs.com/xiaotie/archive/2009/12/08/1619046.html
[/url]
阴影圆环代表一个半径为 rmax 的圆形选区。其中,C点是鼠标点下时的点,也就是圆形选区的圆心。鼠标从C拖到M,致使图像中的点U变换到点X。所以, 关键问题是找到上面这个变换的逆变换??给出点X时,可以求出它变换前的坐标U(精确的浮点坐标),然后用变化前图像在U点附近的像素进行插值,求出U的像素值。如此对圆形选区内的每一个像素进行求值,便可得出变换后的图像。
而这个计算公式就是
这篇博文说的比你给的清楚 http://www.cnblogs.com/xiaotie/archive/2009/12/08/1619046.html
[/url]
阴影圆环代表一个半径为 rmax 的圆形选区。其中,C点是鼠标点下时的点,也就是圆形选区的圆心。鼠标从C拖到M,致使图像中的点U变换到点X。所以, 关键问题是找到上面这个变换的逆变换??给出点X时,可以求出它变换前的坐标U(精确的浮点坐标),然后用变化前图像在U点附近的像素进行插值,求出U的像素值。如此对圆形选区内的每一个像素进行求值,便可得出变换后的图像。
而这个计算公式就是
非也
从 u 点变换到 x 点时,如果是线性变换(平移)那么 u 点的坐标就是已知的
但你做的是变形(非线性变换),所以你只知道变换后的点 x 并不知道变换前的点 u 在哪里,因此需要计算
就好比某人现在 到达台北,但你并不知道他是从台南还是高雄来的,需要通过他的旅途时间来推算他来自哪个城市
哇!! 你好?害,?知道台?的地名!!??
我能理解你?的例子,非常清楚,但?法?是有疑惑,首先我?不知道?形後的位置X,我只知道pixel原始位置U
可否?xuzuning具??明怎??算?
假?我已?用for?圈得到?影?形?域?所有pixel座?,??座?是公式?的x?是u?
使用繁体字并没什么问题,一般都认识,不过写就不一定了
首先, 鼠标从C拖到M,M 就是确定的了,那么以 M 为圆心 rmax 为半径的圆中的每一个点都是确定的了
这一点应该是没有问题的了吧?
其次,由于是非线性变形,所以圆M中的每一个点并不和圆C中相应位置的点一一对应(如果一一对应就不是变形了)
这一点应该是没有问题的了吧?
因此我们就需要根据圆M中的点 x 计算出圆C中的点 u 的具体坐标
如果不变形的话 就是平移了
正因为有了系数 才产生了变形
非常清楚的解说,谢谢!
所以公式中的X = 圆移动後的圆内单点座标,故此座标也是已知,将全部数值(X,rmax,m,c)放入公式後求出U
我这样理解是否正确?
求出的U pixel替换掉X pixel是否就是变形後的结果?
对,求出的 u 就是
但需要注意的是:u 是个小数(不大可能计算得到整数的),所他并不真实存在,需要通过周边四个项数计算(插值)出具体的像素值
好的,具体了解了,真的非常感谢您,帮了我一个大忙
虽然对於插值还不了解,但这部分我自己解决应该没问题
实做出来或是做不出来都会再让您知道後续结果的
再次感谢~
要给分出现error 500讯息..晚点再试试看好了