如果采用花如月 的方法代码可以如下修改:
function A= EliMatrix(N,R1,R2,r,alpha)
A=ones(N);o=floor((N+1)/2);
for i=1:N
for j=1:N
x=i-o;
y=j-o;
c1=cos(alpha)^2/R1^2+sin(alpha)^2/R2^2;
c2=sin(2*alpha)/R1^2-sin(2*alpha)/R2^2;
c3=sin(alpha)^2/R1^2+cos(alpha)^2/R2^2;
if (c1*x^2+c2*x*y+c3*y^2)>r^2
A(i,j)=0;
end
end
end
imshow(A)
在双核处理下时间为0.35秒,时间太长,这只是一个mask而已,所以寻求不是循环的,另外还要解决矩阵与椭圆外切的关系,进行中。。。