Перейти к содержимому
Compvision.ru

Tlya

Пользователи
  • Количество публикаций

    63
  • Зарегистрирован

  • Посещение

Все публикации пользователя Tlya

  1. Подскажите, пожалуйста, чем лучше распознать слабо отличимые от фона линии, например линии на руке. Я понимаю что скорее всего надо применять усиливающие фильтры (или поднимать контраст), но может есть какие-то специальные алгоритмы, упрощающие жизнь?
  2. Беру этот код #include "opencv2/opencv.hpp" #include <iostream> using namespace std; using namespace cv; int main(){ VideoCapture cap("test.avi"); if(!cap.isOpened()){ cout << "Error opening video stream or file" << endl; return -1; } while(1){ Mat frame; cap >> frame; if (frame.empty()) break; imshow( "Frame", frame ); char c=(char)waitKey(25); if(c==27) break; } cap.release(); destroyAllWindows(); return 0; } не проходит проверку if(!cap.isOpened()) хотя файл лежит в папке с ЕХЕ, что не так??? Если что - работаю в QT, версия опен 3.2.0
  3. написать 360 Player

    Доброго времени!) Есть задача написать плеер для проигрывания видео 360. (В идеале на два глаза, но для начала пойдет и на 1 ) Понятное дело, что никто за меня это делать не будет, поэтому прошу сугубо совета. В сторону каких функций в опенсв стоит смотреть, есть ли в ней (библиотеке) подходящие инструменты для данной задачи?
  4. написать 360 Player

    Большое спасибо!) Вы тут использовали функцию, можно сказать написанную вручную, а есть ли какая-нибудь опеновская готовая? И еще, можно ли как-то сблурить образовавшиеся при растяжении квадраты?
  5. написать 360 Player

    А подскажите тогда, пожалуйста, как в opencv сделать эффект лупы? (выпуклой или "впуклой" не важно)
  6. написать 360 Player

    А если быть точнее, как натягивать видео на сферу? (это если уж совсем просто выражаясь )
  7. VideoCapture

    Можете удалять тему, вопрос решился
  8. VideoCapture

    Здравствуйте! Есть всем известный код записи видео, который работает отлично: Mat frame; VideoCapture cap(0); if (!cap.isOpened()) return -1; while (true) { cap >> frame; //далее делаем с фреймом что хотим Но если использовать этот способ, чтобы сделать фото с вебки, то они получаются очень темными, т.к. камера только включается, не успевает настроиться к освещению. Пробовал таймером запускать VideoCapture каждые скажем 100мс - проблема решается, но тогда начинаются тормоза, т.к. каждые 100мс VideoCapture то включается, то выключается... как это грамотнее решить? А если использовать просто while (true), а потом выдергивать фрейм в нужный момент, то тупо виснет почему-то
  9. Помогите!Сделал всё как сказано https://wiki.qt.io/How_to_setup_Qt_a...nCV_on_Windowsошибок при сборке не былоно в результате выкидывает такое:Я понимаю что значит эта ошибка - неверная ссылка на функцию, но как это исправить? вроде же dll все подключил п.с. тему читал, не помогло
  10. Оказывается дело было так. При запуске получаем ошибку, заходим в папку, ложим в папку нужные длл и ВУАЛЯ!))
  11. Да, действительно такие файлы есть. То есть мне вместо Переделал, но всё равно что-то не так Вот сама папка с длл
  12. Так их при сборке не создается. Во-вторых, почему тогда в инструкции dll написали?
  13. Повернутое изображение

    Народ, что за прикол?) Открываю изображение через faststone image viewer оно вертикально. Если через Paint или стандартный просмотрщик винды горизонтально. Проблема в том что imwrite() тоже грузит горизонтально, что неправильно и о дальнейшей верной обработке речь не идет. Если просто пересохранить, то всё становиться норм Проще говоря - как получить метаданные из EXIF?
  14. Повернутое изображение

    Разобрался! Нашел кое-какие библиотеки Может кому-нибудь поможет #include <iostream> #include <libexif\exif-data.h> using namespace std; int main(){ ExifData *ed=exif_data_new_from_file("D:\\22.JPG"); ExifEntry *entry = exif_data_get_entry(ed, EXIF_TAG_ORIENTATION); char buf[1024]; exif_entry_get_value(entry, buf, sizeof(buf)); cout<<buf<<endl; system("pause"); } Выводит ориентацию, от которой может плясать Mat
  15. что за ошибка?

    Доброго времени! может кто сталкивался... Есть простецкий код, который норм. работает (OpenCV 3.2.0 64bit) int main(int argc, const char** argv) { PROGON(); } void PROGON() { Mat image_pred, gray; image_pred = imread("D:\\222.jpg", 1); Mat image(image_pred.rows*0.6, image_pred.cols*0.6, CV_8UC1, Scalar(255, 255, 255)); resize(image_pred, image, image.size(), 0, 0, 3); Mat beliY(image.rows, image.cols, CV_8UC1, Scalar(255, 255, 255)); cvtColor(image, image, CV_RGB2GRAY); GaussianBlur(image, image, cv::Size(1, 1), 1, 0); threshold(image, gray, 200, 255.0, THRESH_BINARY); vector<vector<cv::Point> > contours; findContours(gray, contours, CV_RETR_LIST, CV_CHAIN_APPROX_NONE, cv::Point(0, 0)); imshow("gray.jpg", gray); } *получаем ч/б картинку С ГЛАЗАМИ* но почему-то тот же самый код если используем в (OpenCV 3.0.0 32bit) меняет изображение (получаем практически тёмное). Если коментим findContours(...), то всё до него работает нормально. КАК findContours() может влиять на конечное изображение? или разница между OpenCV 3.0.0 32bit и OpenCV 3.2.0 64bit так велика?
  16. что за ошибка?

    Спасибо большое за ответ!
  17. Подскажите, пожалуйста! Чем распознать такие цифры? Как видно, разные размеры, шрифт, поворот и небольшие искажения являются осложнениями. Какой алгоритм (кроме классификатора) можно применить? По шаблону точно не подойдет, контуры с их моментами дают результат, но много ошибок, тессеракт распознает с большими ошибками из-за наклона. Какие ещё варианты?
  18. Подскажите, наткнулся на такой вопрос. Как совместить тессеракт с опенсв? один работает только под 32, второй 64. Отдельно использовать два .ехе не вариант. Есть ли решение?
  19. Может есть какой-нибудь пример по использованию х64?
  20. эм... скачал установил, а как к студии прикрутить? обычно указывал на папку с заголовочными, с либами и дописывал нужные либы. (собственно как и с опенсв)... Бинарники OpenCV (не знаю какая разрядность, скорее всего x32 для windows.) https://sourceforge.net/projects/opencvlibrary/files/openc х64 к сожалению
  21. Подскажите еще пожалуйста, как ускорить процесс обработки картинок большого разрешения при след. алгоритме: загрузка, коррекция цвета, перевод в серое, размытие, порог, поиск контуров, апроксимация, minAreaRect для контуров с нужными свойствами, поворачивание и вырезание этих прямоугольников, закидывание их в другой Mat. Просто при разрешении 6к на 4к количество контуров может доходить до 100к, а время обработки до 2с.
  22. Когда пытаюсь пересобрать опен под 32 пишет: Ошибка LNK1112 тип компьютера модуля "x64" противоречит типу целевого компьютера "X86" А если добавляю к тесс-у опен, то уже со старта IplImage* Image = cvLoadImage("test.jpg"); Ошибка LNK2001 неразрешенный внешний символ "_cvLoadImage"
  23. Может у вас есть какой-нибудь пример по убиранию наклона?
  24. matchShapes()

    Здравствуйте! Объясните пожалуйста. Все источники пишут, что метод matchShapes() используется в купе с моментами, но каким образом если он в качестве параметров принимает только списки контуров и метод? И как их туда запихнуть? И если получится их применить, то какие моменты надо использовать, чтобы получить независимость от масштаба и поворота? (центральных или Hu-моментов?) п.с. Интересная статья) Большая часть про моменты, а потом берут и для сравнения используют просто список контуров http://robocraft.ru/blog/computervision/867.html
  25. matchShapes()

    понял, спс
×