मैं लाइसेंस प्लेट में सभी जुड़े घटकों को ढूंढना चाहता हूं। सबसे पहले, मैं अपनी छवि को थ्रेसहोल्ड करता हूं और फिर बाइनरी छवि को लेबल करने के लिए ओपनसीवी में कनेक्टेड घटक फ़ंक्शन का उपयोग करता हूं, लेकिन लाल क्षेत्र में वर्ण और नीले क्षेत्र में नंबर 10 का पता नहीं चला है। चरित्र का पता लगाने के लिए मैं क्या कर सकता हूं?

लाइसेंस प्लेट नमूना:

enter image description here enter image description here

0
sina 6 अक्टूबर 2017, 15:36
चित्र 1 में वर्ण B लाल क्षेत्र में है
 – 
sina
6 अक्टूबर 2017, 15:43

2 जवाब

निब्लैक थ्रेसहोल्डिंग का उपयोग करने का प्रयास करें। विंडो साइज = 5 और के = 4.25 के साथ मुझे यही मिला है यहां छवि विवरण दर्ज करें

मैंने छवि को ग्रेस्केल में बदल दिया और फिर निब्लैक थ्रेसहोल्डिंग की। यहां एक नमूना पायथन कोड है। (कोड में कनेक्टेड घटक विश्लेषण और मास्किंग शामिल नहीं है, जो आउटपुट को दाईं ओर प्राप्त करने के लिए आवश्यक है)

import cv2 
import numpy as np
from skimage.filters import threshold_niblack


image = cv2.imread('IRplate.jpg')
B_Wimage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)


thresh = threshold_niblack(B_Wimage, window_size=5, k=4.25)
ret,thresh = cv2.threshold(thresh,0,255,cv2.THRESH_BINARY_INV)


cv2.imshow('A1',thresh)
k = cv2.waitKey(0)
cv2.destroyAllWindows()

दाईं ओर स्वच्छ परिणाम प्राप्त करने के लिए आपको थ्रेसहोल्ड छवि पर कुछ क्षरण/फैलाव और कनेक्टेड घटक विश्लेषण करना होगा।

उम्मीद है ये मदद करेगा! :)

1
Titanoboa 7 अक्टूबर 2017, 22:36

मुझे यकीन है कि आपको शायद समस्याएँ भी होंगी, अगर आप थ्रेशोल्ड इमेज को देखेंगे।

मुझे लगता है कि आपने एक थ्रेसहोल्ड (और संभवतः उस पर एक ग्रेस्केल) का उपयोग किया है। लेकिन यहां आपके तीन प्रभाव हैं: छवि कई क्षेत्रों से बनी है, यह रंग में है, और एक छाया है।

आप शायद अनुकूली थ्रेसहोल्डिंग देखना चाहें , संभवतः उसके बाद ग्रैब-कट

0
MSalters 6 अक्टूबर 2017, 16:06
मैं अनुकूली थ्रेशोल्डिंग का उपयोग करके पांच अलग-अलग बाइनरी इमेज बनाता हूं लेकिन काम नहीं करता
 – 
sina
6 अक्टूबर 2017, 16:59