How to replace small section of image with other values within the image?

22 views (last 30 days)
Hi,
I have a small artifact within my tissue image that I would like to replace with values from the surrounding tissue. However, I do not want a uniform region to replace the artifact. So far I have the code below, which gives me the following image. However, as you can see that it does not line up for replacing the values. I am confused on what to do, I have tried image segmentation but have not got any further either. Any help would be greatly appreciated!
The first half of the code can be ignored, as I am trying to open up multiple files.
Screenshot 2020-02-08 at 15.53.53.png
clear all
ROI = [ 1350 1550 750 950];
%A=input('type in pixel value for artifact');
for k = 1:100
fileName = sprintf('paganin_000100.png', k);
if isfile(fileName)
% If the file exists, display it.
imageData = imread(fileName);
%crop
imageData = imageData(ROI(1):ROI(2),ROI(3):ROI(4));
%imshow(imageData);
imageMatrix(:,:,k) = imageData;
else
% Print alert for those files that don't exist.
fprintf('File not found: "%s".\n', fileName)
end
end
grayImage = imageData;
I = grayImage;
Rv = [54:154; 67:167; 41:141; 80:180]; % Row Start Matrix
% Column Vector
Rc = 0:15; % Row Subscript Address Length
Cv=16:116
for k=1:100,
j=100
I(Rv(1,k)+Rc,Cv(j)) = I(Rv(3,k)+Rc, Cv(j));
I(Rv(2,k)+Rc,Cv(j)) = I(Rv(4,k)+Rc, Cv(j));
end
imshow(I)

Accepted Answer

Image Analyst
Image Analyst on 8 Feb 2020
Try regionfill() to "smear in" the surrounding vaules to the inside of the region.
  2 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by