Возможно ли как-то оптимизировать вычисление преобразований Hough? (не знаю, как его фамилию писать по-русски: часто пишут Хаф, я пишу Хоу) Сейчас я их вычисляю внутри функции формирования изображения краев объекта (сама функция выполняется за 6мс):
for(i = 0; i < GRAB_HEIGHT; i++){
ptr[0] = imageR[i]; ptr[1] = imageG[i]; ptr[2] = imageB[i];
for(j = 0; j < GRAB_WIDTH; j++){
N = 0;
for(k = 0; k < 3; k++){
if((wdth = *ptr[k]) > Min){
*GLptr++ = (GLubyte) (*ptr[k] * scale );
N++;
}
else *GLptr++ = 0;
ptr[k]++;
}
if(N == 3){
cntr++;
for(k=0; k<180; k++){
theta = ((double)k-90.)*conv;
N = (double)j*cos(theta) + (double)i*sin(theta);
if(N > 0 && N < Rmax)
Hough[k][N]++;
}
}
}
}
Может, кто-нибудь занимался подобным? Т.к. в интернете, сколько ни искал, никак не могу найти - все, что попадается, - библиотеки, включающие в себя уйму дополнительных ненужных мне функций.