Особенности в OpenCV (cvFindCornerSubPix, cvGoodFeaturesToTrack, cvPreCornerDetect)

Описание нескольких функций, имеющих отношение к особенностям.

cvFindCornerSubPix
Уточняет местоположение углов.
void cvFindCornerSubPix(
	const CvArr* image,
	CvPoint2D32f* corners,
	int count,
	CvSize win,
	CvSize zero zone,
	CvTermCriteria criteria 
);

Параметры:
image – входное изображение;
corners – начальные координаты входных углов;
count – количество углов;
win – половина длины стороны окна поиск. Например, для win (5,5) окно поиска будет (5*2+1, 5*2+1) = (11, 11);
zone — половина размера мертвых регион в середине зоны поиска, над которой суммирование в формуле ниже не делается. Это иногда используется, чтобы избежать возможных особенностей автокорреляционной матрицы. Значение (-1, -1) означает, что нет такого размера.
criteria – критерий прекращения итерационного процесса утончения угла. Процесс прекращается или после достижения определенного количества итераций, или после достижения определенной точности. Можно использовать оба критерия.


( Читать дальше )

Особенности в OpenCV (cvCornerEigenValsAndVecs, cvCornerHarris, cvCornerMinEigenVal)

cvCornerEigenValsAndVecs

Вычисление собственных значений и собственных векторов блоков изображения для детектирования углов.
void cvCornerEigenValsAndVecs(
	const CvArr* image,
	CvArr* eigenvv,
	int blockSize,
	int aperture_size=3 
);


Параметры:
image – входное изображение;
eigenvv – изображение для хранения результатов. Оно должен быть в 6 раз шире, чем исходное изображение;
blockSize – размер соседства;
aperture_size – размер ядра в операторе Собела (подробнее смотрите cvSobel).

Для каждого пикселя функция считает соседство размером blockSize*blockSize. Вычисляется матрица ковариаций производных от соседства следующим образом:



( Читать дальше )