-
Количество публикаций
63 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Tlya
-
-
Беру этот код
#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
-
Большое спасибо!)
Вы тут использовали функцию, можно сказать написанную вручную, а есть ли какая-нибудь опеновская готовая?
И еще, можно ли как-то сблурить образовавшиеся при растяжении квадраты?
-
А подскажите тогда, пожалуйста, как в opencv сделать эффект лупы? (выпуклой или "впуклой" не важно)
-
А если быть точнее, как натягивать видео на сферу? (это если уж совсем просто выражаясь )
-
Доброго времени!)
Есть задача написать плеер для проигрывания видео 360. (В идеале на два глаза, но для начала пойдет и на 1 )
Понятное дело, что никто за меня это делать не будет, поэтому прошу сугубо совета. В сторону каких функций в опенсв стоит смотреть, есть ли в ней (библиотеке) подходящие инструменты для данной задачи?
-
Можете удалять тему, вопрос решился
-
Здравствуйте!
Есть всем известный код записи видео, который работает отлично:
Mat frame;
VideoCapture cap(0);
if (!cap.isOpened())
return -1;
while (true)
{
cap >> frame;
//далее делаем с фреймом что хотимНо если использовать этот способ, чтобы сделать фото с вебки, то они получаются очень темными, т.к. камера только включается, не успевает настроиться к освещению. Пробовал таймером запускать VideoCapture каждые скажем 100мс - проблема решается, но тогда начинаются тормоза, т.к. каждые 100мс VideoCapture то включается, то выключается... как это грамотнее решить?
А если использовать просто while (true), а потом выдергивать фрейм в нужный момент, то тупо виснет почему-то
-
-
-
Так их при сборке не создается. Во-вторых, почему тогда в инструкции dll написали?
-
Помогите!
Сделал всё как сказано https://wiki.qt.io/How_to_setup_Qt_a...nCV_on_Windows
ошибок при сборке не было
но в результате выкидывает такое:
Я понимаю что значит эта ошибка - неверная ссылка на функцию, но как это исправить? вроде же dll все подключилп.с. тему читал, не помогло
-
Разобрался!
Нашел кое-какие библиотеки
Может кому-нибудь поможет
#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
-
Народ, что за прикол?) Открываю изображение через faststone image viewer оно вертикально. Если через Paint или стандартный просмотрщик винды горизонтально.
Проблема в том что imwrite() тоже грузит горизонтально, что неправильно и о дальнейшей верной обработке речь не идет. Если просто пересохранить, то всё становиться норм
Проще говоря - как получить метаданные из EXIF?
-
Спасибо большое за ответ!
-
Доброго времени! может кто сталкивался...
Есть простецкий код, который норм. работает (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 так велика?
-
Может есть какой-нибудь пример по использованию х64?
-
2 часа назад, Smorodov сказал:Бинарники тессеракта x64 для windows.
https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows
эм... скачал установил, а как к студии прикрутить? обычно указывал на папку с заголовочными, с либами и дописывал нужные либы. (собственно как и с опенсв)...
Бинарники OpenCV (не знаю какая разрядность, скорее всего x32 для windows.)
https://sourceforge.net/projects/opencvlibrary/files/openc
х64 к сожалению
-
Подскажите еще пожалуйста, как ускорить процесс обработки картинок большого разрешения при след. алгоритме:
загрузка, коррекция цвета, перевод в серое, размытие, порог, поиск контуров, апроксимация, minAreaRect для контуров с нужными свойствами, поворачивание и вырезание этих прямоугольников, закидывание их в другой Mat.
Просто при разрешении 6к на 4к количество контуров может доходить до 100к, а время обработки до 2с.
-
Когда пытаюсь пересобрать опен под 32 пишет:
Ошибка LNK1112 тип компьютера модуля "x64" противоречит типу целевого компьютера "X86"
А если добавляю к тесс-у опен, то уже со старта
IplImage* Image = cvLoadImage("test.jpg");
Ошибка LNK2001 неразрешенный внешний символ "_cvLoadImage"
-
Подскажите, наткнулся на такой вопрос. Как совместить тессеракт с опенсв? один работает только под 32, второй 64. Отдельно использовать два .ехе не вариант.
Есть ли решение?
-
6 часов назад, Nuzhny сказал:Убрать наклон.
Может у вас есть какой-нибудь пример по убиранию наклона?
-
Подскажите, пожалуйста! Чем распознать такие цифры?
Как видно, разные размеры, шрифт, поворот и небольшие искажения являются осложнениями.
Какой алгоритм (кроме классификатора) можно применить?
По шаблону точно не подойдет, контуры с их моментами дают результат, но много ошибок, тессеракт распознает с большими ошибками из-за наклона. Какие ещё варианты?
-
понял, спс
-
То есть я правильно понял, мы используем эту функцию, закидывая туда наши контуры, а она уже сама (внутри) высчитывает моменты (и Hu в том числе) для каждого контура и сравнивает их моменты?
А для чего тогда
cvGetCentralMoment( CvMoments* moments, int x_order, int y_order );
?
Чем распознать слабо отличимые линии?
в OpenCV
Опубликовано · Report reply
Подскажите, пожалуйста, чем лучше распознать слабо отличимые от фона линии, например линии на руке.
Я понимаю что скорее всего надо применять усиливающие фильтры (или поднимать контраст), но может есть какие-то специальные алгоритмы, упрощающие жизнь?