Runtime Opencv HighGui Error- «HIGHGUI ERROR: V4L / V4L2: VIDIOC_S_CROP». OpenCV кросс скомпилирован. Host = 64bit Ubuntu 12.04. Target = ARM-Cortex-A9

Я новичок в OpenCV и стараюсь изо всех сил получить простое приложение, работающее на встроенной платформе. Я кросс-скомпилировал OpenCV 2.4.4 и собрал его WITH_GTK = ON, WITH_UNICAP = ON, WITH_V4L = ON, что необходимо для поддержки камеры и графического интерфейса. Следующий пример кода кросс-компилируется на хосте:

#include 
#include 
using namespace cv; 
int main(int, char**)
{
    VideoCapture cap(0); // open the default camera
    if (!cap.isOpened()) // check if we succeeded
        return -1;

    Mat edges;
    namedWindow("edges", 1);
    for (;;) {
        Mat frame;
        cap >> frame;   // get a new frame from camera
        cvtColor(frame, edges, CV_BGR2GRAY);
        GaussianBlur(edges, edges, Size(7, 7), 1.5, 1.5);
        Canny(edges, edges, 0, 30, 3);
        imshow("edges", edges);
        if (waitKey(30) >= 0)
            break;
    }
    return 0;
}

Компилируя этот способ для статической ссылки:

arm-linux-gnueabi-g ++ -mcpu = cortex-a9 -mfpu = неон -статический opencv_camshow.cpp -o exe -I / home / om / OpenCV-2.4.4 / платформы / linux / build_soft / install / include -L / home / om / OpenCV-2.4.4 / платформы / linux / build_soft / install / lib -L / home / om / OpenCV-2.4.4 / платформы / linux / build_soft / 3rdparty / lib -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_imgproc - lopencv_core -lopencv_contrib -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_flann -lopencv_photo -lopencv_videostab -pthread -lm -lrt -lzlib -static

Здесь проблема. Когда я пытаюсь запустить исполняемый файлEXE' на цели, я получаю эту ошибку во время выполнения:

HIGHGUI ERROR: V4L / V4L2: VIDIOC_S_CROP Ошибка OpenCV: ошибка не указана (Функция не реализована. Перестройте библиотеку с поддержкой Windows, GTK + 2.x или Carbon. Если вы работаете в Ubuntu или Debian, установите libgtk2.0-dev и pkg -config, затем повторно запустить cmake или настроить скрипт) в cvNamedWindow, файл /home/om/OpenCV-2.4.4/modules/highgui/src/window.cpp, строка 652

прекратить вызывать после создания экземплярарезюме :: Exception»

what (): /home/om/OpenCV-2.4.4/modules/highgui/src/window.cpp:652: error: (-2) Функция не реализована. Перестройте библиотеку с поддержкой Windows, GTK + 2.x или Carbon. Если вы работаете в Ubuntu или Debian, установите libgtk2.0-dev и pkg-config, затем повторно запустите cmake или настройте скрипт в функции cvNamedWindow

Я переустановил libgtk2.0-dev, pkg-config существует и перекомпилировал OpenCV, но этоТ помогло. Пожалуйста, дайте мне знать, если кто-то знает, как преодолеть эту проблему. Заранее спасибо. ~ Ом

Больше информации: Я разобрался, что вызывает эту проблему, но еще не решил ее ...

Насколько я понимаю, проблема заключается в скриптах cmake в opencv. Он не подтверждает существование GTK и, следовательно, кросс-компиляции без поддержки GTK. Это после того, как мы убедимся, что библиотека gtk на основе arm присутствует в наборе инструментов 's Папка lib и ее путь экспортируются в системные пути.

Ответы на вопрос(3)

Ваш ответ на вопрос