Технический форум по робототехнике.
Wib » 15 авг 2009, 23:36
а что с unicode в opencv, т.е. как сделать, например, cvLoadImage("картинка1.jpg")?
Без изменения исходников opencv, видимо. никак. или есть у кого-нить юникодная версия?
делать буфер тоже не очень охото (rename картинка1.jpg -> 1.jpg -> cvLoadImage(1.jpg)).
Frimen » 16 авг 2009, 00:18
Помогите разобраться с кодом !!!
- Код: Выделить всё • Развернуть
IplImage* inImage = cvLoadImage("C:\\GTR.bmp");
IplImage* outImage;
outImage = cvCreateImage(cvGetSize(inImage), IPL_DEPTH_8U, 3);
cvCopy(inImage, outImage, 0);
cvCanny(outImage, outImage, 2, 10, 3 ); //Ругается на эту функцию!!!!
cvNamedWindow( "Image-In", CV_WINDOW_AUTOSIZE);
cvNamedWindow( "Image-Out", CV_WINDOW_AUTOSIZE);
cvShowImage("Image-In", inImage);
cvShowImage("Image-Out", outImage);
cvWaitKey(0);
cvReleaseImage( &inImage );
cvDestroyWindow( "Image-In" );
cvReleaseImage( &outImage );
cvDestroyWindow( "Image-Out" );
После запуска программы вылазиет окно с ошибкой
пишет :
unsupported format or combination of formats()
in function cvCanny
И объясните пожалуйста что значат параметры в функциях :
cvCreateImage 2 и 3 параметр;
cvCanny 3, 4, 5 параметры ???????
Lockdog » 16 авг 2009, 00:33
cvCanny(outImage, outImage, 2, 10, 3 ); //Ругается на эту функцию!!!!
Думаю, что ругается потому, что нельзя писать и считывать одновременно один и тот же файл
в cvCreateImage 2-ой параметр это глубина (в OpenCV несколько типов), а 3-ий параметр - количество каналов.
Про cvCanny помочь не могу(
Frimen » 16 авг 2009, 00:41
Lockdog спасибо за ответ
не можешь объяснить что такое глубина и количество каналов поподробней ?
Lockdog » 16 авг 2009, 00:59
Ну смотри на твоём примере битова глубина = 8 (IPL_DEPTH_8U), а количество каналов = 3. Из трёх каналов состоит обычное RGB изображение, а глубина определяет количество информации о цвете для каждого пикселя, 2^8=256 - это значение для каждого канала, а само изображение по сути является 24-х битным (каждый канал восьмибитные: 8х3=24) и может содержать 16 миллионов цветов.
Frimen » 16 авг 2009, 21:27
Расскажите пожалуйста хотя бы теоретическ как в OpenCV:
1. Распозновать лица на фотографиях
2. Сравнивать лица
Просто никак не могу найти нормальное описание
а на английском я никак не могу разобраться!!!
Может есть какиенибуть статьи или ссылки по этому ???
Сейчас пытаюсь найти какую либо информацию по этому поваду в книге OReilly-LearningOpenCV
Если кто знает на каких страницах данной книге рассматриваются эти вопросы скажите пожалуйста страници откуда начинать мне переводить ??????
Lockdog » 16 авг 2009, 22:12
В книге на странице 511 есть код для распознавания лиц. Если с английским совсем туго, то я переведу. Только это будет минимум через неделю, завтра уезжаю отдыхать.=) Соответственно и перевод очередных уроков временно приостанавливается.
Frimen » 17 авг 2009, 00:57
Lockdog спасибо за ответ !
У меня есть ещё вопрос
что такое cascade в OpenCV ??????
Frimen » 18 авг 2009, 09:08
С детектором лиц и каскадами вроде разобрался.
Кому интересно могу выложить простенький код и всё объяснить!
Теперь вопрос в другом :
Как в OpenCV сравнивать изображения? Например есть две фотографии и необходимо сравнить лица на этих фотографиях ? Может быть в OpenCV есть какиенибуть функции для сравнения фотографий ?
=DeaD= » 18 авг 2009, 13:21
2Frimen: В каком смысле сравнить? Найти 10 пикселей отличий?
Frimen » 19 авг 2009, 20:33
Кто нибудь знает как вывести в отдельное окно определённую область фотографии?
Написал детектор лица и определил область занимаемое лицом на фотографии.
Теперь необходимо конкретно лицо сохранить в виде отдельной фотографии.
=DeaD= » 19 авг 2009, 20:50
Скопировать из изображения с установленным ROI в изображение размером в этот ROI вроде?
Frimen » 19 авг 2009, 21:23
=DeaD= спасибо!!!
Frimen » 24 авг 2009, 12:13
Как правильно отмасштабировать изображение в OpenCV???
Например у меня есть изоброжение 640x480 и надо получить изоброжение c другим масштабом?????
=DeaD= » 24 авг 2009, 12:19
А вы в документацию по религиозным соображениям не заглядываете?
например cvResize и рядом с ней лежащие функции не пробовали?