मेरी समस्या ट्रेलर के पीछे छवि का उपयोग कर स्वचालित रूप से ट्रक में लकड़ी को ढूंढना और गिनना है। मैं MATLAB छवि टूलबॉक्स का उपयोग कर इस समस्या को हल करने का प्रयास कर रहा हूं। तो, मेरा कोड यहाँ है।MATLAB का उपयोग कर ट्रक में लकड़ी कैसे ढूंढें?
function [ centers, rads, metrics ] = TimberFind(img)
minrad = 20;
maxrad = 110;
Hsens = .93;
CannySens = .20;
img_gray = rgb2gray(img);
PSF = fspecial('gaussian', 5, 0.5);
img_gray = imfilter(img_gray, PSF, 'symmetric', 'conv');
img_gray = imadjust(img_gray);
PSF=fspecial('gaussian', 10, 1);
Blurred = imfilter(img_gray, PSF, 'symmetric', 'conv');
cont = imsubtract(img_gray, Blurred);
preprocessed = imadd(img_gray, 3*cont);
bin = edge(preprocessed, 'canny', CannySens);
[cen, r, m] = imfindcircles(bin, [minrad maxrad],'Sensitivity', Hsens);
end
लेकिन परिणाम बहुत अच्छा नहीं है। आप the full data सेट या निम्न उदाहरण देख सकते हैं:
तो, अगर मैं कैनी और imfindcircles एल्गोरिदम पर्याप्त sensetive सभी लकड़ी पता लगाने के लिए बनाने के लिए, कुछ अतिरिक्त पाया resoults देखते हैं। मुझे बड़ी समस्या से प्रत्येक लकड़ी को काटने के साथ इस समस्या को हल करने का विचार है, फिर प्राप्त छोटी तस्वीरों के कुछ वैश्विक मानदंडों का गठन करना, और उस पर कुछ मशीन लर्निंग एल्गोरिदम का प्रयास करना है। लेकिन मुझे लगता है कि इस तरह से मुश्किल है, तो शायद कोई और कुछ सुझाव दे सकता है? शायद कैनी ऑपरेटर का उपयोग करने से पहले छवि का प्रीप्रोसेसिंग करने का एक बेहतर तरीका है? यदि आपको कोई विचार है कि इसे बेहतर कैसे बनाया जाए, तो कृपया मुझे बताएं। धन्यवाद!
क्या आप लाल मंडलियों के बिना मूल छवियों, _i.e._ पोस्ट कर सकते हैं? – Ratbert
निश्चित रूप से, मैं उन्हें बादल में डाल दिया। – Vladimir
यदि आप अपने झूठे डिटेक्शन देखते हैं, तो उनमें से कुछ पोस्ट-प्रोसेसिंग का उपयोग करके निकालना आसान है। उदाहरण के लिए, झूठी डिटेक्शन की उपस्थिति आपको मिलने वाली अन्य मंडलियों से अलग है। –