अपने बक्से जेनरेट करने का एक आसान तरीका sum प्रत्येक कॉलम के नीचे आपकी छवि है और यह देखने के लिए कि कुछ थ्रेसहोल्ड के नीचे राशि कहाँ गिरती है (यानी जहां सफेद पिक्सेल उस कॉलम में दिए गए नंबर से नीचे ड्रॉप हो)। यह आपको कॉलम इंडेक्स देगा जहां बक्से होना चाहिए। इन बक्से की चौड़ाई बहुत संकीर्ण हो सकती है (यानी संख्याओं के छोटे भाग पक्षों से बाहर हो सकते हैं), ताकि आप किनारों को convolving द्वारा इंडेक्स वेक्टर के छोटे वेक्टर के साथ फैला सकें और परिणामी मानों की तलाश कर सकें जो कि अधिक से अधिक हैं शून्य। यहाँ ऊपर अपनी छवि का उपयोग करते हुए एक उदाहरण है:
rawImage = imread('license_plate.jpg'); %# Load the image
maxValue = double(max(rawImage(:))); %# Find the maximum pixel value
N = 35; %# Threshold number of white pixels
boxIndex = sum(rawImage) < N*maxValue; %# Find columns with fewer white pixels
boxImage = rawImage; %# Initialize the box image
boxImage(:,boxIndex) = 0; %# Set the indexed columns to 0 (black)
dilatedIndex = conv(double(boxIndex),ones(1,5),'same') > 0; %# Dilate the index
dilatedImage = rawImage; %# Initialize the dilated box image
dilatedImage(:,dilatedIndex) = 0; %# Set the indexed columns to 0 (black)
%# Display the results:
subplot(3,1,1);
imshow(rawImage);
title('Raw image');
subplot(3,1,2);
imshow(boxImage);
title('Boxes placed over numbers');
subplot(3,1,3);
imshow(dilatedImage);
title('Dilated boxes placed over numbers');
नोट: थ्रेशोल्डिंग ऊपर किया संभावना है कि काले और सफेद छवि (के मूल्यों के साथ प्रकार पर दो की हो सकता है के लिए खातों या तो 0 या 1), तार्किक (0 या 1 के मानों के साथ), या एक हस्ताक्षरित 8-बिट पूर्णांक (0 या 255 के मानों के साथ)। आपको बस इतना करना है कि संख्या के भाग वाले कॉलम की पहचान करने के लिए थ्रेसहोल्ड के रूप में उपयोग करने के लिए सफेद पिक्सल की संख्या के लिए N
सेट करें।
शीर्षक परिवर्तन का सुझाव दें - "छवि में सेगमेंट अंक"? –