how to inpaint a region of interest recursively
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
David Levi
el 28 de En. de 2022
Comentada: Image Analyst
el 28 de En. de 2022
Hi everyone!
I have an image called 'lion.jpg' .
I did segmentation to the lions in the center using the segmentImage.m function , and got this image:
I need to inpaint the black region that was created , and I need a solution to do that recursively from outside to inside:
I tried to use the inpaintCoherent function but the result was not acually what i needed , I got this:
You can see that the inpaintCoherent function filled the area of the mountains with colored lines , and this is not good for me. I want to fille the region smoothly.
I tried to blure the region but I really dont want to do that.
I shared my code : try1.m with you, and you can see it here too:
clc;
clear;
close all;
I = imread('lion.jpg');
figure; imshow(I,[]);
[BW,mask] = segmentImage(I);
figure; imshow(BW);
bg = I - mask;
figure; imshow(bg)
figure; montage({I,BW});
%% inpaint
title(['Image to Be Inpainted',' | ','Mask for Inpainting']);
J = inpaintCoherent(I,BW,'Radius',7);
figure; imshow(J);
figure;
montage({I,J});
title(['Image to Be Inpainted',' | ','Inpainted Image']);
%% try to blur the image:
redChannel = J(:, :, 1);
greenChannel = J(:, :, 2);
blueChannel = J(:, :, 3);
% H = fspecial('disk',20);
H = fspecial('average',33);
redChannel = roifilt2(H,redChannel,BW);
greenChannel = roifilt2(H,greenChannel,BW);
blueChannel = roifilt2(H,blueChannel,BW);
rgbImage = cat(3, redChannel,greenChannel,blueChannel);
figure;
subplot(1,2,1); imshow(J); title('Inpainted Image');
subplot(1,2,2); imshow(rgbImage); title('image after blure');
0 comentarios
Respuesta aceptada
Image Analyst
el 28 de En. de 2022
The function you want is called regionfill().
Description
2 comentarios
Image Analyst
el 28 de En. de 2022
Terrain generation is not trivial. You can try image quilting:
Or you can try to generate something using Perlin noise (Google it).
Or you can just get rid of the columns with "seam carving" (Google it).
Since it looks like a one-off situation, maybe you can just interactively clone part of the image using the Clone Stamp tool in Photoshop.
Más respuestas (0)
Ver también
Categorías
Más información sobre Geometric Transformation and Image Registration en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!