2d удаление базовой линии с краев изображения - PullRequest
0 голосов
/ 12 октября 2018

У меня есть изображение, скажем, например

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

Я хотел бы удалить этот базовый кадр и сохранить исходную информацию по краям изображения.Любые идеи?

Некоторые изображения имеют очень плавные особенности, поэтому я попытался избавиться от «рамки», обрезая стороны и экстраполируя, но это не очень хорошо.

...