Argon 2 Жалоба Опубликовано April 22, 2013 Доброго времени суток! Изначально писал программу на 64-ох битной системе, затем перенес ее на 32-х битную, переформировал все библиотеки программой cmake, и в итоге имею следующее на 64 битной системе код обрабатывается правильно: void MouseDetected::on_btnLoadFromFile_clicked() { QString qVideofileName = QFileDialog::getOpenFileName(this, tr("Выберите видео файл"), "", tr("Video file (*.avi);;All Files (*)")); if(qVideofileName.isEmpty() == false) { ui->txtFileOpen->setText(qVideofileName); capture = cvCreateFileCapture(qVideofileName.toStdString().c_str()); framesCount = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT); iPositin = (int)framesCount; frame = cvQueryFrame(capture); dPosSlid = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES); iFirstPosition = (int)dPosSlid; ui->horizontalSlider->setMaximum(iPositin); ui->horizontalSlider->setRange(iFirstPosition, iPositin); ui->progressBar->setMaximum(iPositin); ui->nomKadr->setMaximum(iPositin); storage = 0; //загружаем фоновое изображение(временно, переделать для кнопки(изменить) и добавить просмотр из формы) matFon = cvLoadImage("D:\\myProjekt\\MouseTreking\\fon\\fon.png"); cv::cvtColor(matFon, matFon, CV_RGB2GRAY); cv::GaussianBlur(matFon, matFon, cv::Size(3,3), -1); cv::cvtColor(frame, frame, CV_BGR2RGB); QImage gimgOriginal((uchar*)frame.data, frame.cols, frame.rows, frame.step, QImage::Format_RGB888); ui->IplOutputImage->setPixmap(QPixmap::fromImage(gimgOriginal)); } } а на 32-х ошибка возникает тут frame = cvQueryFrame(capture); ...... cv::cvtColor(frame, frame, CV_BGR2RGB); т.е. программа не может разложить файл на кадры... в чем может быть проблема? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано April 22, 2013 Надо перестроить еще и QT. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Argon 2 Жалоба Опубликовано April 22, 2013 Надо перестроить еще и QT. что значит перестроить? я на вторую "машину" отдельно устанавливал QT и переформировывал библиотеки, и естественно сделал подключение к новым библиокекам(каторые формировал на 32-х битной машине) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано April 22, 2013 А воспользоваться отладчиком и узнать, в чём конкретно проблема не вариант? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано April 22, 2013 OpenCV должна быть 64 разрядной, построенной с поддержкой Qt тоже 64 разрядной (я перестраивал Qt и OpenCV, только тогда связка заработала). Можно построить 64 разрядный OpenCV с 32 разрядной Qt, но работать такая смесь не будет (у меня не работала). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Argon 2 Жалоба Опубликовано April 22, 2013 А воспользоваться отладчиком и узнать, в чём конкретно проблема не вариант? чувак... отладчиком я и нашел где ошибка выскакивает, точнее после каких действий... 2Smorodov у меня 32-х разрядный Qt и библиотеки opencv сформированные в 32-х разрядной ОС но все равно поробую еще раз перенастроить Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано April 22, 2013 чувак... отладчиком я и нашел где ошибка выскакивает, точнее после каких действий... Мда. Современные отладчиики понимают скрипты, умеют многопоточную отладку, стек вызовов, условные брейк поинты, откатываться назад по времени, позволяют просматривать любой адрес памяти и регистры, отображать значения любых переменных,... А ты всего лишь смог найти строку, в которой падает программа?!! Чувак... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Argon 2 Жалоба Опубликовано April 23, 2013 Мда. Современные отладчиики понимают скрипты, умеют многопоточную отладку, стек вызовов, условные брейк поинты, откатываться назад по времени, позволяют просматривать любой адрес памяти и регистры, отображать значения любых переменных,... А ты всего лишь смог найти строку, в которой падает программа?!! Чувак... неправдали я охеренен , буду разбираться дальше... 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах