Matlab

2013-08-27 7 views
7

पर छवि deblurring मैं Matlab के लिए नया हूँ। सहायता मार्गदर्शिका के माध्यम से खेलना और पढ़ना था लेकिन मैं इस स्थिति को हल नहीं कर सकता।Matlab

enter image description here

मैं गाऊसी एल्गोरिदम के उपयोग द्वारा शोर निकाल दिया है। यह सफल रहा लेकिन मैंने छवि को स्पष्ट करने में कामयाब नहीं रहा है, मैंने रिचर्डसन-लुसी डिब्लरिंग एल्गोरिदम का उपयोग करने का प्रयास किया है लेकिन यह काम नहीं करता है। कोई विचार मैं इसे कैसे हल कर सकता हूं? अग्रिम में Thnx।

यहां तक ​​कि मैंने अभी तक क्या किया है।

छवि का आकार = 21kb छवि आयाम = 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'); 

जब मैं मंझला फिल्टर का उपयोग कर की कोशिश की, मैं इस उत्पादन मिला

medfilt2
अपेक्षित इनपुट संख्या 1 का उपयोग कर त्रुटि, एक , द्वि-आयामी होना। medfilt2 में

त्रुटि> parse_inputs (लाइन 106)
validateattributes (क, { 'सांख्यिक', 'तार्किक'} { '2 डी', 'असली'}, mfilename, 'ए', 1);

medfilt2 में त्रुटि (लाइन 48)
[ए, एमएन, पैडोपट] = parse_inputs (varargin {:});

a1q21 (लाइन 2)
जे = medfilt2 (img) में त्रुटि;

और मेरे वर्तमान परिणाम यह हैं।

enter image description here

+0

इनपुट छवि में शोर "नमक और काली मिर्च" शोर की तरह दिखता है। इसे निकालने के लिए [मध्य फ़िल्टर] (http://www.mathworks.com/help/images/ref/medfilt2.html) का उपयोग करने का प्रयास करें। – Shai

+0

@shai Thnx। मैंने मध्य फिल्टर का उपयोग करने की कोशिश की। समस्या यह है कि छवि 2-डी में नहीं है और मेरे व्याख्याता ने मुझे बताया कि मुझे छवि को वैसे भी रूपांतरित करने की आवश्यकता नहीं है। उसने मुझे एकमात्र चीज बताया कि मुझे रिचर्डसन-लुसी डिब्लरिंग एल्गोरिदम का उपयोग करना चाहिए था। – Harvin

+0

आपका क्या मतलब है "छवि 2-डी नहीं है"? आप प्रत्येक चैनल को मध्य-फ़िल्टर कर सकते हैं और उन्हें फिर से जोड़ सकते हैं। परिणामों की तुलना करने का प्रयास करें। – Shai

उत्तर

4

आप अपने debluring एल्गोरिथ्म के लिए गलत बिंदु प्रसार कार्यों का उपयोग कर रहे (pillbox एक बुरा विकल्प है)। सर्वोत्तम परिणामों के लिए एस & पी शोर को हटाने के लिए एक औसत फ़िल्टर के साथ फ़िल्टर करें और फिर एक गाऊशियन कर्नल के साथ डिब्लर करें। मैं गति डिब्लर को छोड़ दूंगा क्योंकि छवि में दृढ़ता से दिशात्मक धुंध नहीं लगती है। सर्वोत्तम परिणाम प्राप्त करने के लिए आपको sharpening फ़िल्टर की सिग्मा के साथ खेलना होगा।

img = imread('car_plate.jpg') 
subplot(331); 
imshow(img), title('Original Image') 

blur = medfilt2(img,[3 3]); 
subplot(332);imshow(blur);title('Filter image'); 

deblurSigma = 10; %Adjust this to get the most visually pleasing results 
motion_noise = fspecial('gaussian', 15,deblurSigma); 
luc1 = deconvlucy(img,motion_noise); 
subplot(333); imshow(luc1); 
title('Disk and Lucy');