Sono nuovo di MatLab. Ho provato a giocare e leggere la guida ma non riesco a risolvere questa situazione.Immagine deblurring su Matlab
Ho rimosso il rumore utilizzando algoritmo gaussiano. Ciò ha avuto successo, ma non sono riuscito a far sì che l'immagine fosse chiara, ho provato ad usare l'algoritmo di de-oscuramento di Richardson-Lucy ma non funziona. Qualche idea su come posso risolvere questo? Thnx in anticipo.
Ecco cosa ho fatto finora.
dimensione dell'immagine = 21kb immagine dimensione = 264 x 126
img = imread('car_plate.jpg')
subplot(331);
imshow(img), title('Original Image')
PSF = fspecial('gaussian',15,15);
blur = imfilter(img,PSF,'replicate');
subplot(332);imshow(blur);title('Filter image');
motion_noise = fspecial('disk', 7);
luc1 = deconvlucy(img,motion_noise);
subplot(333); imshow(luc1);
title('Disk and Lucy');
LEN = 9; THETA = 1;
motion_noise2 = fspecial('motion', LEN, THETA);
luc2 = deconvlucy(blur,motion_noise2);
subplot(334); imshow(luc2);
title('Motion and Lucy');
Quando ho provato con filtro mediano, ho ricevuto questa uscita
errore utilizzando medfilt2
previsto numero di ingresso 1, A , per essere bidimensionale.Errore nei medfilt2> parse_inputs (linea 106)
validateattributes (a, { 'numeric', 'logico'}, { '2d', 'real'}, mfilename, 'A', 1);Errore in medfilt2 (riga 48)
[a, mn, padopt] = parse_inputs (varargin {:});Errore in a1q21 (riga 2)
J = medfilt2 (img);
e i miei risultati attuali sono questo.
il rumore nell'immagine di input assomiglia più al rumore di "sale e pepe". Prova a utilizzare [filtro mediano] (http://www.mathworks.com/help/images/ref/medfilt2.html) per rimuoverlo. – Shai
@shai Thnx. Ive ha provato a usare il filtro mediano. Il problema è che l'immagine non è in 2D e il mio docente mi ha detto che non devo convertire l'immagine in alcun modo. L'unica cosa che mi ha detto è che dovrei usare l'algoritmo di deblurring di Richardson-Lucy. – Harvin
cosa intendi per "immagine non in 2D"? puoi filtrare in mediana ciascun canale e ri-combinarli. Prova a confrontare i risultati. – Shai