-
Количество публикаций
31 -
Зарегистрирован
-
Посещение
Репутация
0 НовичекО d1g1t
-
Звание
Эксперт
Profile Information
-
Пол
Мужской
-
Расположение
Львов
-
Привет. Попробуйте проверить существование файла (exists) за вказанным Вами путём.
-
Какой быстрый способ создать среднее изображение на основе обучающей выборки
d1g1t добавил тему в OpenCV
Привет. Какой быстрый способ создать среднее изображение на основе обучающей выборки. Например из 25 изобрежений. Сейчас делаю так: // Avarage Image IplImage* averageImage = cvCreateImage(cvGetSize(faceSet->faceImages[i].faces[0]), IPL_DEPTH_64F, 1); cvZero(averageImage); for(int index = 0; index < faceCount; index++) { IplImage* face = faceSet->faceImages[i].faces[index]; IplImage* averageImageFace = cvCreateImage(cvGetSize(face), 8, 1); IplImage* averageImageFace64 = cvCreateImage(cvGetSize(face), IPL_DEPTH_64F, 1); cvCvtColor(face, averageImageFace, CV_BGR2GRAY); cvScale(averageImageFace, averageImageFace64, 1.0, 0.0); cvAdd(averageImage, averageImageFace64, averageImage); cvReleaseImage(&averageImageFace); cvReleaseImage(&averageImageFace64); } Спасибо -
Привет Нужно проверить принадлежат ли значения шума, размытости, контраста к допустимым. Как лучше это сделать? Спасибо.
-
Спасибо за идею! Покопаюсь...
-
Производительность взросла раза в 2а. Время 0.17 - 0.2с. Спасибо.
-
Платформа мобильная - каждая секунда дорога. Время исполнения cvHaarDetectObjects приблизительно : 0.3 - 0.4с. CvSeq* faces = cvHaarDetectObjects(small_img, cascade_, storage_, 1.6, 2, CV_HAAR_DO_CANNY_PRUNING, cvSize( small_img->width/4, small_img->height/4 )); Рассматриваю любые варианты для повышения производительности.
-
Есть ли способ распознать лицо (recognition) не используя каскады? Если да, быстрее ли он. Спасибо
-
Переделал: pixel_value1 = ((uchar*)(image->imageData + image->widthStep*y))[x]; Теперь все отлично работает. Огромное спасибо. Странно конечно. Изображение 8-битное. 1 пиксель - 1 байт. В 2й раз учту етот фактор...
-
Всем привет После применения cvThreshold и очистки, вот такой результат (сохранил в формате bmp): cvThreshold(limbusImg, threshold_image, 130, 200, CV_THRESH_BINARY); Проблема состоит в том, что в img->imageData есть данные которые не соответствуют данным на рисунке. for(int j=0; j<height; j++) { for(int i=0; i<width; i++) { int pixel_value = image[(int)(j)*width+(int)(i)]; log("pixel(%d,%d):%d", i, j, pixel_value); } // Белые писксели pixel(114,62):200 pixel(115,62):200 pixel(116,62):200 pixel(117,62):200 pixel(118,62):200 pixel(119,62):200 pixel(120,62):200 pixel(121,62):200 pixel(122,62):255 pixel(123,62):255 pixel(124,62):200 На рисунке (красний маркер) таких пикселей нету. Подскажите где собака зарыта. Спасибо.
-
Всем привет. Подскажите лучший способ по удалению (интерполяция или заполнения области в черный цвет) роговичного блика. Спасибо.
-
можете предоставить каскад для 1го глаза размером ~150x150
-
Не правильно выразился. После поворота, картинка должна занимать весь размер с позиции (0,0). Но почему-то она смещена вправо и вверх (Output изображение ) Целевое изображение - я пытаюсь достичь.
-
Всем привет. Пытаюсь повернуть изображение на -90. Но в результате картинку обрезает. Подскажите где косяк. Спасибо. IplImage* dstImg = cvCreateImage( cvSize(m_sourceImage->height, m_sourceImage->width), IPL_DEPTH_8U, 3); float centreX = m_sourceImage->width/2; float centreY = m_sourceImage->height/2; rotate(angle, centreX, centreY, m_sourceImage, dstImg ); cvReleaseImage(&m_sourceImage); m_sourceImage = dstImg; Функия rotate: void rotate(double angle, float centreX, float centreY, IplImage* src, IplImage* dst) { CvPoint2D32f centre; centre.x = centreX; centre.y = centreY; CvMat* translate = cvCreateMat(2, 3, CV_32FC1); cv2DRotationMatrix(centre, angle, 1.0, translate); cvWarpAffine(src, dst, translate, CV_INTER_LINEAR + CV_WARP_FILL_OUTLIERS, cvScalarAll(0)); cvReleaseMat(&translate); } Input изображение: Output изображение: Целевое изображение: