对于数组,我得到的值是 0 和 255,而 matlab 之间没有任何值?
For the array I am getting values either 0 and 255 and nothing in between for matlab?
我正在使用此代码:
for m_cof=1:3
for n_cof=1:3
Fixed_term=(((2*(m_cof-1)+1)*(2*(n_cof-1)+1))/(g(1)*g(2)));
c(m_cof,n_cof)=0;
for u=1:g(1)
y=((2*u)/g(1));
uof=Polynomial1(y,m_cof);
for v=1:g(2)
z=((2*v)/g(2));
vof=Polynomial1(z,n_cof);
f=f_template(u,v);
iop=(Fixed_term*f_template(u,v)*uof*vof)
c(m_cof,n_cof)=iop+c(m_cof,n_cof)
end
end
end
end`
其中 f_template
是 RGB 到灰度图像数组,但是 c
的内容只是 0 和 255,中间没有任何内容,你能帮忙吗 ?
由于您的图像所属的数据类型,您似乎正在经历饱和。要克服这个问题,请将您的图像投射到 double
,然后再次尝试您的代码。
简单地说,在嵌套循环之前的代码开头执行此操作:
f_template = double(f_template);
我正在使用此代码:
for m_cof=1:3
for n_cof=1:3
Fixed_term=(((2*(m_cof-1)+1)*(2*(n_cof-1)+1))/(g(1)*g(2)));
c(m_cof,n_cof)=0;
for u=1:g(1)
y=((2*u)/g(1));
uof=Polynomial1(y,m_cof);
for v=1:g(2)
z=((2*v)/g(2));
vof=Polynomial1(z,n_cof);
f=f_template(u,v);
iop=(Fixed_term*f_template(u,v)*uof*vof)
c(m_cof,n_cof)=iop+c(m_cof,n_cof)
end
end
end
end`
其中 f_template
是 RGB 到灰度图像数组,但是 c
的内容只是 0 和 255,中间没有任何内容,你能帮忙吗 ?
由于您的图像所属的数据类型,您似乎正在经历饱和。要克服这个问题,请将您的图像投射到 double
,然后再次尝试您的代码。
简单地说,在嵌套循环之前的代码开头执行此操作:
f_template = double(f_template);