24小时热门版块排行榜    

查看: 1816  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

skevin000

铜虫 (初入文坛)

[求助] "去噪"前后的两幅图,"减法处理"的效果为什么和文献不一样?

如下图,(减法的效果图:为了从另一个角度体现去噪效果)
第一幅1.png是论文里的减法的效果图,
第二幅2.png是我做的减法的效果图(去噪算法是别人的)
我用的matlab代码如下:
A=去噪前的图像;
B=去噪后的图像;
figure,imshow(A-B)         %得到那个很暗的图
figure,imshow(A-B,[]) %得到后面的那个对比度更高的图
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
明显可以看出,两种图片的效果不一样,论文里的减法图,为什么有背景呢(也许不是背景,只是图片的显示方式改变了,eg,灰度图里的像素0不是对应的黑色,难道是其它显式机制吗)?并且论文里的图看起来很亮哦,是用的imshow(A-B,[ ]),还是用了其它的增强方法,但这样增强的话,不是变相的为去噪效果加分吗?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
做过这种比较的前辈们,你们怎么看?

1.png



2.png
回复此楼
静下心来,努力学习,创新……
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

string121

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★
skevin000: 金币+4, ★★★★★最佳答案, 谢谢你的回答,加油~! 2012-12-22 16:26:17
这个就是个数据显示的问题。
paper上一般是将得到的差异数据(A-B)做一个线性变换变化到[0,1]进行显示, 目的是为了更好看出差异。
imshow(A-B)直接显示实际上是有问题的。imshow会将小于0或大于1的数据直接截断显示为黑(0)或白色(1),这样的显示实际上不能真实体现A,B数据的差异。
imshow(A-B,[])中的‘[]’就是将A-B的数据用线性变换转化到[0,1]区间,以确保任何差异都能用不同的颜色显示出来。
这个线性变化公式很容易推出来:y=1/(M-m)*x-m/(M-m), 其中m是A-B中的最小值,
M是A-B中最大值。所以imshow(A-B,[])和下面代码显示的是一样一样的:
m=min(min(A-B));
M=max(max(A-B));
figure,imshow(1/(M-m).*(A-B)-m/(M-m));
若不想将数据做拉伸显示,用调色板方式显示也是一样的:
imagesc(A-B),colormap(gray);
10楼2012-12-01 15:53:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 skevin000 的主题更新
信息提示
请填处理意见