0
点赞
收藏
分享

微信扫一扫

圆环极坐标变换

愚鱼看书说故事 2022-04-04 阅读 88

【参考】

  1. https://blog.csdn.net/LuohenYJ/article/details/114842373
  2. https://zhuanlan.zhihu.com/p/267898474

一、 极坐标

极坐标:通过长度和角度来表示点的位置的坐标系。
在平面上,取一点O称为极点,从O出发的水平射线OX称为极轴,然后我们就可以确定了一个极坐标系。
长度一般用ρ (rho)表示,角度一般用θ (theta)表示。在极坐标系中任何一点的坐标都可以用( ρ , θ ) 来表示。如下图所示:
![4ea3934322b2d8b407e3ebabab5a0a27.jpg](https://img-blog.csdnimg.cn/img_convert/048d2393baa6f95023196e71d092814d.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u05df1cfc&margin=[object Object]&name=4ea3934322b2d8b407e3ebabab5a0a27.jpg&originHeight=638&originWidth=1933&originalType=binary&ratio=1&rotation=0&showTitle=false&size=62499&status=done&style=none&taskId=ua271d3cb-bad4-4e63-881c-1a6701c23af&title=)
其中θ ∈ [ 0 , 2 π ]
![Snipaste_2022-04-04_08-37-21.png](https://img-blog.csdnimg.cn/img_convert/f9f345bc08903efccb4994602108fe77.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u4cc459bd&margin=[object Object]&name=Snipaste_2022-04-04_08-37-21.png&originHeight=64&originWidth=174&originalType=binary&ratio=1&rotation=0&showTitle=false&size=4257&status=done&style=none&taskId=u7a45d50b-7d33-403b-883a-0894fd1f30b&title=)
极坐标转为直角坐标的公式逆变换:
![Snipaste_2022-04-04_08-37-43.png](https://img-blog.csdnimg.cn/img_convert/6b19ee1c4fc6f84819785f7a0622efcf.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u3dcf22b4&margin=[object Object]&name=Snipaste_2022-04-04_08-37-43.png&originHeight=73&originWidth=199&originalType=binary&ratio=1&rotation=0&showTitle=false&size=4310&status=done&style=none&taskId=ufc310bc7-0494-44a7-9a95-0902b07e77d&title=)

二、圆环展开为矩形推导

参考VisionPro的转换内容
![Snipaste_2022-04-04_17-28-32.png](https://img-blog.csdnimg.cn/img_convert/05b23a532735da391a0e01125073e20f.png#clientId=u36e42cce-f480-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u951bb918&margin=[object Object]&name=Snipaste_2022-04-04_17-28-32.png&originHeight=479&originWidth=757&originalType=binary&ratio=1&rotation=0&showTitle=false&size=69481&status=done&style=none&taskId=uf7bdb0a3-26ae-4dd1-a216-3a9e28b11c2&title=)
确定theta和rho:
theta = angleResolution * w + angleStart
rho = OuterRadius - h
w和h对应矩形图像宽和高的索引;

极坐标转笛卡尔坐标:
x = x0 + rho * cos(theta)
y = y0 + rho * sin(theta)
(x0,0)原始圆环的中心坐标;

三、插值方法

1、最近邻插值

计算变换后的坐标在原图像中的位置(x,y),计算离开位置最近的整数坐标值,并以此对应的像素值作为目标点的像素值。
![v2-b3015a54cdc842b809e1f679251c5882_720w.jpg](https://img-blog.csdnimg.cn/img_convert/78ecf710d2b1d76aaf0779396b860883.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=uafe2f140&margin=[object Object]&name=v2-b3015a54cdc842b809e1f679251c5882_720w.jpg&originHeight=283&originWidth=371&originalType=binary&ratio=1&rotation=0&showTitle=false&size=27888&status=done&style=none&taskId=u66fe77b0-71e2-4c9d-9ddc-415cf8c70e6&title=)

2、双线性插值

目标图像通过缩放系数,计算缩放后的坐标在原图像中的位置
![v2-22aff00883c1414854f12a10ac35cadc_720w.png](https://img-blog.csdnimg.cn/img_convert/f146c50e9b5cd161ba40a5c755bb1918.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&height=322&id=udc3aaba4&margin=[object Object]&name=v2-22aff00883c1414854f12a10ac35cadc_720w.png&originHeight=189&originWidth=194&originalType=binary&ratio=1&rotation=0&showTitle=false&size=11789&status=done&style=none&taskId=u9b2e8922-957d-4b9c-8593-8ae25c5d051&title=&width=331)
首先,对 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TQHIbhSW-1649065523379)(https://cdn.nlark.com/yuque/0/2022/svg/25959739/1649035327431-2c96071f-6f2b-4089-8efc-3148f1dd4592.svg#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u0f13eeed&margin=%5Bobject%20Object%5D&originHeight=15&originWidth=12&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=ue0c02d86-4478-4e1e-8c2c-68e51908960&title=)] 轴进行像素插值:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1i5XDncf-1649065523379)(https://cdn.nlark.com/yuque/0/2022/svg/25959739/1649035327459-aa23adf7-5ff4-4a0e-a978-a90b8a9417a5.svg#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u85a223f7&margin=%5Bobject%20Object%5D&originHeight=50&originWidth=397&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=u5f5ea6f8-2b10-40f7-bf3d-0b1fd8df061&title=)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nuCcnWjY-1649065523380)(https://cdn.nlark.com/yuque/0/2022/svg/25959739/1649035327411-aace42c1-1f40-44f9-9360-49b53a7bb127.svg#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=uaae0f9c9&margin=%5Bobject%20Object%5D&originHeight=50&originWidth=397&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=u4179505a-5490-46a3-a253-2106d841d05&title=)]
然后,对 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4c0OfHby-1649065523380)(https://cdn.nlark.com/yuque/0/2022/svg/25959739/1649035327447-5d9beb6d-fd11-46ef-9c74-e50306eedc23.svg#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u92f44e75&margin=%5Bobject%20Object%5D&originHeight=18&originWidth=10&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=u29ee4eea-6175-43a6-853d-5a518f80eaa&title=)] 轴进行像素插值:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3acOVV5c-1649065523380)(https://cdn.nlark.com/yuque/0/2022/svg/25959739/1649035327618-55902b69-f872-4b56-b2a1-4f82ee9ac893.svg#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u061c3654&margin=%5Bobject%20Object%5D&originHeight=51&originWidth=396&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=uc336c0bd-5ce2-4548-bc7b-24ad10b8874&title=)]
暂时没有对双线性插值算法优化

四、测试

Opencv顺时针方向操作
输入图像
![circle.jpg](https://img-blog.csdnimg.cn/img_convert/c382501b98411d76e6411f18eba61ddd.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u6a58c924&margin=[object Object]&name=circle.jpg&originHeight=540&originWidth=960&originalType=binary&ratio=1&rotation=0&showTitle=false&size=52181&status=done&style=none&taskId=ubd8badec-f3d5-47bb-af26-c4b1ea2fc87&title=)

AngleStart: 0 AngleSpan: 360

最近邻插值结果
![最近邻.png](https://img-blog.csdnimg.cn/img_convert/e417337cb2257a9eb23d7d2f884b6983.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=ufe8f74df&margin=[object Object]&name=最近邻.png&originHeight=175&originWidth=1086&originalType=binary&ratio=1&rotation=0&showTitle=false&size=142152&status=done&style=none&taskId=u144e2a83-8a48-476d-a238-fab82a8cd84&title=)
双线性插值结果
![双.png](https://img-blog.csdnimg.cn/img_convert/1134101d08242152594fa8d513fa68d6.png#clientId=uc04f40f3-42a0-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=uc1698959&margin=[object Object]&name=双.png&originHeight=175&originWidth=1086&originalType=binary&ratio=1&rotation=0&showTitle=false&size=157583&status=done&style=none&taskId=u37b460ac-f86f-47f5-b2fb-a1aac74541d&title=)

AngleStart: 30 AngleSpan: 270

![1.png](https://img-blog.csdnimg.cn/img_convert/b70918ac7da81c3dc94b5535560334c6.png#clientId=uda3babae-0e4c-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=ue66bbd17&margin=[object Object]&name=1.png&originHeight=135&originWidth=812&originalType=binary&ratio=1&rotation=0&showTitle=false&size=115580&status=done&style=none&taskId=u2c32487e-329e-4f9c-b7f1-00ad6386a11&title=)

AngleStart: -30 AngleSpan: 270

![2.png](https://img-blog.csdnimg.cn/img_convert/f26a923e7e5a9323a766eecfcf23eb33.png#clientId=uda3babae-0e4c-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u5a9147b4&margin=[object Object]&name=2.png&originHeight=135&originWidth=812&originalType=binary&ratio=1&rotation=0&showTitle=false&size=112764&status=done&style=none&taskId=u52fa1558-bc49-44d1-815b-d13997ff4b3&title=)

举报

相关推荐

0 条评论