У меня есть изображение, скажем, например
z=double(rgb2gray(imread('onion.png')));
z=z./max(z(:));
imagesc(z)
Однако ~ 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');
Так, что изображение, которое я на самом деле получаю, является этим:
imagesc(z+m); % I assume the effect is additive but I dont know that
Я хотел бы удалить этот базовый кадр и сохранить исходную информацию по краям изображения.Любые идеи?
Некоторые изображения имеют очень плавные особенности, поэтому я попытался избавиться от «рамки», обрезая стороны и экстраполируя, но это не очень хорошо.