图像旋转插值,该如何解决
图像旋转插值

请问哪位能帮我解决一下这个问题,是关于图像处理旋转图像的问题,中间这种空点怎么解决,怎么插值?
------解决思路----------------------
你变换肯定是正向变换的,逆向变换就好了。
正向变换是从原图像通过变换矩阵求目标图像的像素,目标图像某些位置没法填充,就出现你这状况了。
见:http://blogs.mathworks.com/steve/2006/04/28/spatial-transforms-forward-mapping/
逆向变换是目标图像像素通过变换矩阵的逆矩阵去查找原图像中的像素位置,像素就能充分填充了。
见:http://blogs.mathworks.com/steve/2006/05/05/spatial-transformations-inverse-mapping/

------解决思路----------------------
先将整个图片中的每个孤立的白点的像素值用紧邻它上边那个像素的值替换,然后再旋转插值。
------解决思路----------------------
哎,这么说好呢,你程序肯定出问题了。
不知楼主懂matlab不,参考一下我过去写的这个吧
http://www.cnblogs.com/tiandsp/archive/2012/12/03/2800373.html

------解决思路----------------------
对于原图的每一个点P(i,j),计算出旋转后的坐标(i1,j1),设置目标图像P1(round(i1),round(j1))=P(i,j)。这是最简单的考虑,但会产生空洞。
反过来考虑:
对于目标图上的每一个点P1(i, j),计算出旋转前的坐标(i0,j0),设置目标图像P1(i,j)=P(i0,j0)。由于i0,j0不一定是整数(基本上一定不是),这就需要进行插值,最简单的办法是取P(round(i0),round(j0))。
计算旋转前的坐标只要把原旋转矩阵求逆,然后与(i,j)相乘就可以了。如果原算法用的不是旋转,那就把旋转角度取相反数。
请问哪位能帮我解决一下这个问题,是关于图像处理旋转图像的问题,中间这种空点怎么解决,怎么插值?
------解决思路----------------------
你变换肯定是正向变换的,逆向变换就好了。
正向变换是从原图像通过变换矩阵求目标图像的像素,目标图像某些位置没法填充,就出现你这状况了。
见:http://blogs.mathworks.com/steve/2006/04/28/spatial-transforms-forward-mapping/
逆向变换是目标图像像素通过变换矩阵的逆矩阵去查找原图像中的像素位置,像素就能充分填充了。
见:http://blogs.mathworks.com/steve/2006/05/05/spatial-transformations-inverse-mapping/
------解决思路----------------------
先将整个图片中的每个孤立的白点的像素值用紧邻它上边那个像素的值替换,然后再旋转插值。
------解决思路----------------------
哎,这么说好呢,你程序肯定出问题了。
不知楼主懂matlab不,参考一下我过去写的这个吧
http://www.cnblogs.com/tiandsp/archive/2012/12/03/2800373.html
------解决思路----------------------
对于原图的每一个点P(i,j),计算出旋转后的坐标(i1,j1),设置目标图像P1(round(i1),round(j1))=P(i,j)。这是最简单的考虑,但会产生空洞。
反过来考虑:
对于目标图上的每一个点P1(i, j),计算出旋转前的坐标(i0,j0),设置目标图像P1(i,j)=P(i0,j0)。由于i0,j0不一定是整数(基本上一定不是),这就需要进行插值,最简单的办法是取P(round(i0),round(j0))。
计算旋转前的坐标只要把原旋转矩阵求逆,然后与(i,j)相乘就可以了。如果原算法用的不是旋转,那就把旋转角度取相反数。