总结
豆包 AI 助手文章总结

请大神帮我看这个图片变形公式

php中文网
发布: 2016-06-23 13:42:32
原创
969人浏览过

这是一个图片的运算,http://blog.csdn.net/jia_zhengshen/article/details/12008371

需要看的只有第38页那个公式以及4.4.1那一段话

另外这是一个中文网页,也引用了那个公式,并有一些解释会更易懂
http://blog.csdn.net/jia_zhengshen/article/details/12008371

目前已经可实现图片内像素(pixel)替换来让图片产生变形
但不太能理解那个公式怎麽算,整理一下我的问题大致如下:

1. 图片原有的pixel座标(变形前)是U或是X?
2. 就我目前的理解,我用for回圈扫过每一个pixel,这每一个pixel即是公式内X的座标,求出U之後,开始做变形动作,将原有X改变为U,此思考方向是否正确?



回复讨论(解决方案)

这篇博文说的比你给的清楚  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的像素值。如此对圆形选区内的每一个像素进行求值,便可得出变换后的图像。
而这个计算公式就是



谢谢回覆,这篇我也看了,真的很让我困惑,"关键问题是找到上面这个变换的逆变换??给出点X时,可以求出它变换前的坐标U"  我就是不理解这一句话的意思,为什麽U既然是变换前的座标,不是早已知道的座标吗(原始图片pixel座标)?所以我们要求的是X? 如果是X 那方程式就会变成 X = ??? 将会变得非常复杂...

如此应该怎麽运算?

非也
从 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讯息..晚点再试试看好了

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号