Snikas 发表于 2008-5-30 12:07

受ch_j1985的思路提示,我通过直角坐标转换成极坐标再转回直角坐标的方法得到了一个滤波矩阵,其图形见附件,是旋转了45度的,但是我发现坐标转换中会产生小数,但坐标转换h(l,m)=n(a,b)中的a,b坐标必须是整数,这就涉及到四舍五入取整,这样导致有的坐标值不会被取到,也就使得旋转后的二维滤波矩阵中有些点为0,这就是为什么旋转后的矩阵在原点周围应该为通带的区域却出现了蓝色的点,不知道该怎么解决这个问题。。。

ch_j1985 发表于 2008-5-30 12:33

原帖由 Snikas 于 2008-5-30 12:07 发表 http://www.chinavib.com/forum/images/common/back.gif
受ch_j1985的思路提示,我通过直角坐标转换成极坐标再转回直角坐标的方法得到了一个滤波矩阵,其图形见附件,是旋转了45度的,但是我发现坐标转换中会产生小数,但坐标转换h(l,m)=n(a,b)中的a,b坐标必须是整数,这就 ...

将转换后得到的滤波矩阵同时乘以一个整数(比如1000),再四舍五入,试试看这样可以不?

wwbeyondww 发表于 2008-5-30 12:33

回复 15楼 的帖子

自己再改一下阿...
下面是你需要的?
clear;
clc;
x=-10:0.1:10;
y=-10:0.1:10;
theta=pi/6;
=meshgrid(x,y);
A=cos(theta)*X+sin(theta)*Y;
B=-sin(theta)*X+cos(theta)*Y;
Z=exp(-A.^2.*B.^2);
imagesc(x,y,Z);

[ 本帖最后由 wwbeyondww 于 2008-5-30 12:34 编辑 ]

Snikas 发表于 2008-5-30 15:23

回复 18楼 的帖子

非常感谢!!!效果完全一致!
只是可不可以麻烦解释下程序,尤其后几句,我想搞懂这个程序。

wwbeyondww 发表于 2008-5-30 15:45

回复 19楼 的帖子

A和B就是一个坐标旋转变换的公式而已

Snikas 发表于 2008-5-30 17:21

回复 20楼 的帖子

哦,懂了,谢谢哈,以前是学过这么个公式
页: 1 [2]
查看完整版本: 请教如何实现对图中矩阵的任意角度旋转