从图像边缘进行二维基线去除

时间:2018-10-11 23:25:54

标签: image matlab image-processing baseline

例如,我有一张图片

z=double(rgb2gray(imread('onion.png')));
z=z./max(z(:));
imagesc(z)

enter image description here

但是,从各个方向来看〜10像素,我得到了一个不同的基线,我想删除该基线。基线可能是由于边缘像素的增益伪影所致。

我可以人为地创建如下效果:

m=zeros(size(z));
m(1,:)=5; m(end,:)=5;
m(:,1)=5; m(:,end)=5;
m=conv2(m,fspecial('gaussian',15,3),'same');

enter image description here

我实际上得到的图像就是这样的:

imagesc(z+m); % I assume the effect is additive but I dont know that

enter image description here

我想删除该基线框架,并将原始信息保留在该图像的边缘。有什么想法吗?

某些图像具有非常平滑的功能,因此我尝试通过裁剪侧面并外推来摆脱“框架”,但效果不佳。

0 个答案:

没有答案