У меня известная проблема с обнаружением радужной оболочки и зрачка на изображениях. Я уже читал некоторые темы (например:
Какое правильное использование / значения параметров для HoughCircles в OpenCV для обнаружения радужки? Обнаружение зрачков и cvHoughCircles? Использование HoughCircles для обнаружения и измерения зрачка и радужной оболочки Параметры HoughCircles для распознавания мячей
об этой проблеме, но все еще не могу найти решение своей проблемы.
У меня есть изображение глаза, и я хочу обнаружить радужную оболочку и зрачок. Моя проблема в том, что я не могу выбрать хорошие значения параметров.
Это мой образец изображения ввода: И это мой результат:
Мой код размещен ниже.
Mat src = Highgui.imread("in.jpg", Highgui.CV_LOAD_IMAGE_GRAYSCALE);
Mat des = new Mat(src.rows(), src.cols(), src.type());
Imgproc.GaussianBlur(src,src, new Size(3,3),0,0);
Imgproc.Canny(src, dst, 5, 10);
Mat circles = new Mat();
Imgproc.HoughCircles(source, circles, Imgproc.CV_HOUGH_GRADIENT, 1.0, 20.0, 70.0, 30.0, 3, 100);
//draw circles code here
Я хочу, чтобы зрачок и радужка были обведены. Может ли кто-нибудь опубликовать правильные значения для определения моего круга?
У меня также есть несколько вопросов:
1) Что лучше использовать фильтр Canny или Sobel?
2) Могу ли я сделать это обнаружение лучше, гибче?
3) Вы можете просто объяснить мне, что именно означает параметры HoughCircles - (из OpenCV javadoc)
* @param dp Inverse ratio of the accumulator resolution to the image
* resolution. For example, if <code>dp=1</code>, the accumulator has the same
* resolution as the input image. If <code>dp=2</code>, the accumulator has half
* as big width and height.
* @param param1 First method-specific parameter. In case of <code>CV_HOUGH_GRADIENT</code>,
* it is the higher threshold of the two passed to the "Canny" edge detector
* (the lower one is twice smaller).
* @param param2 Second method-specific parameter. In case of <code>CV_HOUGH_GRADIENT</code>,
* it is the accumulator threshold for the circle centers at the detection
* stage. The smaller it is, the more false circles may be detected. Circles,