Ошибка неверного преобразования в файл cv2 при установке opencv 3.3.0 на Raspberry Pi Stretch - PullRequest
3 голосов
/ 02 июля 2019

Я пытаюсь собрать opencv 3.3.0 на raspberry pi 3, но сталкиваюсь с ошибкой в ​​93% из-за неверного преобразования.Подробности приведены ниже, любая помощь будет принята с благодарностью.пожалуйста, помогите.

Это сообщение об ошибке появляется.

 /home/pi/opencv-3.3.0/modules/python/src2/cv2.cpp: In function ‘bool pyopencv_to(PyObject*, T&, const char*) [with T = cv::String; PyObject = _object]’:/home/pi/opencv-3.3.0/modules/python/src2/cv2.cpp:854:34: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] char* str = PyString_AsString(obj);In file included from /home/pi/opencv-3.3.0/modules/python/src2/cv2.c

Я попробовал эти команды

cd ~ / opencv-3.3.0 /

$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \
    -D BUILD_EXAMPLES=ON ..

# cv2.cpp код в месте ошибки.

template<>
bool pyopencv_to(PyObject* obj, String& value, const char* name)
{
 (void)name;
 if(!obj || obj == Py_None)
    return true;
 char* str = PyString_AsString(obj);
 if(!str)
    return false;
 value = String(str);
 return true;

}

Ответы [ 2 ]

1 голос
/ 07 июля 2019

Я столкнулся с тем же явлением. Это было трудно, так как компиляция занимает много времени, и я потратил больше половины дня, чтобы решить эту проблему.

TLDR:

1) Сборка opencv больше не рекомендуется. Откажитесь от строительства из источника.

2) Малиновый пирог обеспечивает колесо opencv. Попробуйте это.

sudo pip3 install opencv-contrib-python

3) Если это не работает, просто используйте apt-get

sudo apt-get install python-opencv

4) Для python3,

sudo apt-get install python3-opencv

Пожалуйста, дайте мне знать, если это работает. :)

0 голосов
/ 08 июля 2019

После 3 дней разочарования я обнаружил, что opencv на самом деле полон ошибок, и это не всегда ваша вина. Я запустил OpenCV версии 4 (ранее я пробовал Opencv 3.3.0) на Raspberry Pi Stretch, и он скомпилирован без единой ошибки. Еще одна вещь - перед компиляцией убедитесь, что вы увеличили пространство подкачки до 2048.

/ и т.д. / dphys-файл подкачки

сделать 2048 из 100.

Удачного кодирования .. !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...