怎么将极坐标表达的图像存储为栅格图像?如BMP
如何将极坐标表达的图像存储为栅格图像?如BMP~
原始文件是一个个扇形组织的,
扇形1:起始角度(AngleStart)、角度步长(AngleDelta)、随距离(r)变化的值;
扇形2:......(同上)
....
....
扇形N
如何将上述表达方式转换为M*N的栅格图像呢?有没有方便高效的算法,能够判断给定距离下,某一个角度范围(AngleStart到AngleStart+AngleDelta)包含了哪些像素呢?
——AngleDelta基本上为1deg左右,如果忽略AngleDelta,直接按照x=r*sin(AngleStart),y=r*cos(AngleStart)来计算的话,会有很多像素没有值。
求解决方法或思路!
非常感谢!
------解决方案--------------------
没看明白你的原始数据是如何保存到原始文件的
对每个(半径长Ri,角度N)都有一个像素吧,
相连角度的间隔是1度的意思吗
那思路应该是
想象着把扇形摊开 变成矩形的样子
M=R×扇形角度
N=R
R=半径
然后用2个循环把(x,y)的所有像素填满,
方法就是根据下列公式计算出其在扇形中的位置
n = x/2×PI×R + Anglestart
Ri=N-y
大体思路就是这样吧
原始文件是一个个扇形组织的,
扇形1:起始角度(AngleStart)、角度步长(AngleDelta)、随距离(r)变化的值;
扇形2:......(同上)
....
....
扇形N
如何将上述表达方式转换为M*N的栅格图像呢?有没有方便高效的算法,能够判断给定距离下,某一个角度范围(AngleStart到AngleStart+AngleDelta)包含了哪些像素呢?
——AngleDelta基本上为1deg左右,如果忽略AngleDelta,直接按照x=r*sin(AngleStart),y=r*cos(AngleStart)来计算的话,会有很多像素没有值。
求解决方法或思路!
非常感谢!
------解决方案--------------------
没看明白你的原始数据是如何保存到原始文件的
对每个(半径长Ri,角度N)都有一个像素吧,
相连角度的间隔是1度的意思吗
那思路应该是
想象着把扇形摊开 变成矩形的样子
M=R×扇形角度
N=R
R=半径
然后用2个循环把(x,y)的所有像素填满,
方法就是根据下列公式计算出其在扇形中的位置
n = x/2×PI×R + Anglestart
Ri=N-y
大体思路就是这样吧