7

का पता लगाने के लिए हफ़ सर्किल ट्रांसफ़ॉर्मेशन का उपयोग करना मैं सीवी खोलने के लिए नौसिखिया हूं, लेकिन मैं आईरिस मान्यता कार्यक्रम बनाना चाहता हूं। यद्यपि वेबकैम वाला सिस्टम आंखों का पता लगा सकता है, हालांकि, यह सर्कुलर आईरिस का पता नहीं लगा सकता है। मैं हफ़ सर्किल ट्रांसफॉर्मेशन का उपयोग कर रहा हूं। लेकिन अगर किसी छवि में आईरिस पर्याप्त परिपत्र नहीं है, तो सिस्टम इसका पता नहीं लगा सकता है। इसके लिए कोई समाधान?ओपनसीवी: आईरिस

उपयोग किए गए एल्गोरिदम हाफ सर्कल परिवर्तन है।

IplImage *capturedImg = cvLoadImage("circle.jpg",1); 
IplImage *grayscaleImg = cvCreateImage(cvGetSize(capturedImg), 8, 1); 

cvCvtColor(capturedImg, grayscaleImg, CV_BGR2GRAY); 

// Gaussian filter for less noise 
cvSmooth(grayscaleImg, grayscaleImg, CV_GAUSSIAN,9, 9); 

//Detect the circles in the image 
CvSeq* circles = cvHoughCircles(grayscaleImg, 
         storage, 
         CV_HOUGH_GRADIENT, 
         2, 
         grayscaleImg->height/4, 
         200, 
        100); 

for (i = 0; i < circles->total; i++) 
{ 
    float* p = (float*)cvGetSeqElem(circles, i); 
    cvCircle(capturedImg, cvPoint(cvRound(p[0]),cvRound(p[1])), 
     3, CV_RGB(0,255,0), -1, 8, 0); 
    cvCircle(capturedImg, cvPoint(cvRound(p[0]),cvRound(p[1])), 
     cvRound(p[2]), CV_RGB(0,0,255), 3, 8, 0); 
} 
// cvCircle(img,cvPoint(r->x, r->y),67, CV_RGB(255,0,0), 3, 8, 0);  
cvNamedWindow("circles", 1); 
cvShowImage("circles", capturedImg); 
+0

कृपया अपने प्रश्न को दोबारा सुधारें। आपको समझने योग्य अंग्रेजी कथन लिखना चाहिए। – Sam

+0

अपना एल्गोरिदम या कोड पोस्ट करने से आपको और मदद मिलेगी। –

+0

आप आंखों की सीमाओं को ट्रैक करने और सेगमेंटेशन/मॉर्फोलॉजिकल टूल्स के साथ आईरिस स्थान निकालने का प्रयास कर सकते हैं। जैसा कि पहले कहा गया है, आपके वर्तमान एल्गोरिदम को पोस्ट करने से हमें मार्गदर्शन करने में हमारी सहायता मिलेगी। – Eric

उत्तर

6

cvSmooth() और cvHoughCircles() के बीच cvCanny() के लिए एक कॉल जोड़ें। यह एक एज डिटेक्शन एल्गोरिदम निष्पादित करेगा जो cvHoughCircles() के लिए एक बेहतर इनपुट छवि प्रदान करने जा रहा है और शायद आपके परिणामों में सुधार करेगा।

स्टैक ओवरफ्लो पर बहुत सारे similar प्रश्न हैं, तो मैं आपको use the search box का सुझाव देता हूं।

+0

धन्यवाद, यह काम है ... –

+1

ग्रेट। अपने प्रश्न के आधिकारिक उत्तर के रूप में इसे चुनने के उत्तर के पास चेकबॉक्स पर क्लिक करें। इस तरह आप भविष्य के आगंतुकों की मदद कर रहे हैं। – karlphillip