3.0版本opencv+3.4版本的python

本文档详细介绍了如何在Windows环境下安装配置Python 3.4及OpenCV 3.0进行背景差分操作,包括Python环境搭建、依赖库安装等步骤。

opencv背景差分部分所写的函数只有python3以上的版本才可以支持

之前在windows下一篇安装博文:
windows环境下opencv+python安装
http://blog.youkuaiyun.com/mengyafei43/article/details/10338531

一.实验的步骤

(1)安装3.4版本的python
下载python3.4的源码包,命令行如下:

   wget http://mirrors.sohu.com/python/3.4.1/Python-3.4.1.tar.xz
安装 Python 3.4
 xz -d Python-3.4.1.tar.xz
 tar xf Python-3.4.1.tar -C /usr/local/src/
 cd /usr/local/src/Python-3.4.1/
 ./configure --prefix=/usr/local/python34
 make -j8 && make install

添加 python3.4 相关命令到环境变量,命令行继续输入

PATH=$PATH:$HOME/bin:/usr/local/python34/bin

使 python3.4 环境变量生效:

. ~/.bash_profile

(2)安装numpy
这个安装需要时间有点长

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

(3)opencv安装
python版本为3.4版本所以我们下载的opencv为3.0版本的
opencv 3.0
解压压缩包,然后在目录build->python->3.1 复制3.1下面的所有文
件 到/usr/local/src/Python-3.4.1/Lib/site-packages 中
命令行如下:

二. 运行opencv程序

运行简单程序,结果如下:

<think>好的,我现在需要帮助用户解决在Ubuntu 20.04上集成ROS和OpenCV进行机器人视觉项目开发的问题。首先,我得回顾一下用户提供的参考引用,看看有没有相关的安装步骤或者注意事项。引用[1]提到了Ubuntu 20.04安装ROS Noetic的步骤,而引用[2]则涉及在ORB_SLAM3中使用OpenCV的配置,特别是关于不同版本的查找。用户的问题是如何安装配置ROS和OpenCV,所以需要结合这两部分的信息。 首先,安装ROS Noetic。根据引用[1],步骤包括设置安装源、安装ROS包、初始化rosdep等。用户可能已经看过这些,但需要确保步骤正确无误。接着是安装OpenCV,Ubuntu 20.04默认的OpenCV版本4.2,但有些ROS包可能需要兼容旧版,比如OpenCV 34。引用[2]中的CMake代码显示他们检查了OpenCV 4.03.0,所以用户可能需要安装特定版本。这里需要注意ROS Noetic是否支持OpenCV 4,或者是否需要额外的配置。 然后,配置工作环境,创建Catkin工作空间,并在CMakeLists.txt中正确引用OpenCV。可能需要修改CMake文件来找到正确的OpenCV路径,特别是如果用户安装了多个版本的话。此外,测试部分需要确保ROS节点能够正确调用OpenCV库,可能需要一个简单的Publisher节点来发布图像消息,并用OpenCV处理图像。 用户还可能遇到版本冲突的问题,例如如果同时安装了不同版本OpenCV,CMake可能找不到正确的库。这时候需要明确指定版本,或者在CMakeLists.txt中使用find_package命令的适当参数。例如,引用[2]中的代码是先找4.0,找不到再找3.0,用户可能需要类似的逻辑。 最后,生成相关问题时要考虑用户可能的后续疑问,比如如何解决依赖冲突、如何在不同项目中使用不同OpenCV版本、如何优化性能等。这些问题都是实际开发中常见的,需要预先考虑。 总结步骤应该是:安装ROS Noetic → 安装OpenCV(根据需要选择版本)→ 配置Catkin工作空间 → 修改CMake和源码以正确链接库 → 测试验证。过程中需要注意版本兼容性,特别是ROS包对OpenCV的依赖,以及CMake的正确配置。</think>### 在Ubuntu 20.04上集成ROS与OpenCV的开发配置指南 #### 1. **安装ROS Noetic** ROS Noetic是Ubuntu 20.04的官方支持版本,以下是安装步骤: 1. **设置安装源**: ```bash sudo sh -c &#39;echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list&#39; curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - sudo apt update ``` 2. **安装完整版ROS**: ```bash sudo apt install ros-noetic-desktop-full ``` 3. **初始化rosdep**: ```bash sudo rosdep init && rosdep update ``` 4. **配置环境变量**: ```bash echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` [^1] --- #### 2. **安装OpenCV** Ubuntu 20.04默认支持OpenCV 4.2,可通过以下方式安装: - **安装基础库**: ```bash sudo apt install libopencv-dev python3-opencv ``` - **验证安装**: ```bash python3 -c "import cv2; print(cv2.__version__)" # 应输出4.2.x ``` 若需指定版本(如兼容ROS的OpenCV 3.x),需从源码编译: ```bash git clone https://github.com/opencv/opencv.git -b 3.4 cd opencv && mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE .. make -j$(nproc) sudo make install ``` --- #### 3. **配置Catkin工作空间** 1. **创建并初始化工作空间**: ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin_make source devel/setup.bash ``` 2. **在ROS包中链接OpenCV**: - 在`CMakeLists.txt`中添加: ```cmake find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(your_node ${catkin_LIBRARIES} ${OpenCV_LIBRARIES}) ``` - 若需兼容多版本,参考引用[2]的版本检查逻辑: ```cmake find_package(OpenCV 4.0 QUIET) if(NOT OpenCV_FOUND) find_package(OpenCV 3.0 REQUIRED) endif() ``` --- #### 4. **测试集成** 编写一个ROS节点,使用OpenCV读取摄像头并发布图像消息: ```cpp #include <ros/ros.h> #include <image_transport/image_transport.h> #include <cv_bridge/cv_bridge.h> #include <opencv2/opencv.hpp> int main(int argc, char** argv) { ros::init(argc, argv, "camera_publisher"); ros::NodeHandle nh; image_transport::ImageTransport it(nh); image_transport::Publisher pub = it.advertise("camera/image", 1); cv::VideoCapture cap(0); cv::Mat frame; while (nh.ok()) { cap >> frame; sensor_msgs::ImagePtr msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", frame).toImageMsg(); pub.publish(msg); ros::spinOnce(); } } ``` --- #### 5. **常见问题处理** - **版本冲突**:若ROS包依赖旧版OpenCV,可通过`update-alternatives`切换默认版本[^2]。 - **编译错误**:检查`CMakeLists.txt`中`find_package`的顺序和参数是否匹配安装的OpenCV版本。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值