Rav*_*rdi 5 c++ python opencv raspberry-pi3
我正在尝试在 raspberry pi 3 上构建 opencv 3.3.0,但面临 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
Run Code Online (Sandbox Code Playgroud)
我试过这些命令
cd ~/opencv-3.3.0/
Run Code Online (Sandbox Code Playgroud)$ 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;
Run Code Online (Sandbox Code Playgroud)
}
小智 2
我也遇到过同样的现象。这很困难,因为编译需要很长时间,我花了半天多的时间来解决这个问题。
总而言之:
1)不再推荐构建opencv。放弃从源头构建。
2)树莓派提供了opencv轮。尝试这个。
sudo pip3 install opencv-contrib-python
Run Code Online (Sandbox Code Playgroud)
3)如果不起作用,只需使用apt-get
sudo apt-get install python-opencv
Run Code Online (Sandbox Code Playgroud)
4)对于python3,
sudo apt-get install python3-opencv
Run Code Online (Sandbox Code Playgroud)
请告诉我是否有效。:)
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |