7

Tôi là newbie để openCV, nhưng tôi muốn tạo chương trình nhận dạng iris. Mặc dù hệ thống có webcam có thể phát hiện mắt nhưng nó không thể phát hiện ra mống mắt tròn. Tôi đang sử dụng Hough Circle Transformation. Nhưng trong trường hợp iris trong một hình ảnh không đủ tròn, hệ thống không thể phát hiện ra nó. Bất kỳ giải pháp cho nó?OpenCV: Sử dụng Hough Circle Transformation để phát hiện iris

thuật toán được sử dụng là Chuyển đổi vòng tròn hough.

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

Vui lòng định dạng lại câu hỏi của bạn. Bạn nên viết một câu nói tiếng Anh dễ hiểu. – Sam

+0

Đăng thuật toán hoặc mã của bạn sẽ giúp bạn nhiều hơn. –

+0

Bạn có thể cố gắng theo dõi các ranh giới của mắt và trích xuất vị trí mống mắt bằng các công cụ phân đoạn/hình thái học. Như đã nói, đăng thuật toán hiện tại của bạn sẽ giúp chúng tôi hướng dẫn bạn. – Eric

Trả lời

6

Thêm một cuộc gọi đến cvCanny() giữa cvSmooth()cvHoughCircles(). Điều này sẽ thực hiện một thuật toán phát hiện cạnh mà sẽ cung cấp một hình ảnh đầu vào tốt hơn cho cvHoughCircles() và có lẽ sẽ cải thiện kết quả của bạn.

Có rất nhiều câu hỏi về Stackoverflow, similar, tôi đề xuất bạn use the search box.

+0

cảm ơn, nó hoạt động ... –

+1

Tuyệt vời. Nhấp vào hộp kiểm gần câu trả lời để chọn câu trả lời chính thức cho câu hỏi của bạn. Bằng cách này, bạn đang giúp khách truy cập trong tương lai. – karlphillip

Các vấn đề liên quan