【发布时间】:2015-05-14 20:18:42
【问题描述】:
我正在做一个项目,我必须首先对图像进行归一化,即将图像的像素范围从 16-235 转换(因为它只是图像的亮度分量,像素值始终定义在 16- 235) 到 0 - 1 然后我在处理后对图像执行 dwt 和 idwt 我想再次将这些像素值从 0 - 1 映射到 16 - 235。即如果像素值为 1 值,那么它应该存储在图像矩阵为 235。 为此我尝试了以下 matlab 代码,当我在标准化后立即对图像进行非标准化时,此代码工作得非常好,但如果我在执行 dwt 和 idwt 后使用此代码,则输出变为完全白色。
for j = 1:1:361
for k=1:1:361 %dimensions of my matrix
if(distorted1(j,k)~=0)
temp=distorted1(j,k);
temp1=temp/0.0045;
distorted1(j,k)=int8(temp1)+1;
end
end
end
imshow(distorted1);
【问题讨论】:
-
您应该可视化图像
imshow(distorted1,[])而不是imshow(distorted1)。如果double的值超过1.0的最大值,那么没有[]的普通旧imshow将饱和为白色。 -
非常感谢,它成功了...
标签: image matlab image-processing normalization dwt