在PC上安装运行 opencv
在 Ubuntu 上安装和运行 OpenCV
更新系统包
首先,确保你的系统包是最新的:
sudo apt update
sudo apt upgrade
安装依赖项
安装 OpenCV 所需的依赖项:
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
gfortran openexr libatlas-base-dev python3-dev python3-numpy \
libtbb2 libtbb-dev libdc1394-22-dev
下载 OpenCV 源码
从 OpenCV 官方网站下载源码:
cd ~
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
编译和安装 OpenCV
创建一个构建目录并使用 CMake 配置 OpenCV 构建:
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
make -j16
安装 OpenCV:
sudo make install
sudo ldconfig
运行一个简单的 OpenCV 程序
创建一个简单的 Python 脚本来测试 OpenCV:
import cv2
print("OpenCV version:", cv2.__version__)
img = cv2.imread('test_image.jpg')
cv2.imshow('Test Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
通过蓝色来获取小球的位置
import cv2
import numpy as np
# 读取图像
image = cv2.imread('car.jpeg')
# 将图像从 BGR 转换为 HSV
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# 定义蓝色的 HSV 范围
lower_blue = np.array([90, 110, 110])
upper_blue = np.array([124, 255, 255])
# 创建蓝色的掩膜
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# 进行形态学操作(可选)
mask = cv2.erode(mask, None, iterations=2)
mask = cv2.dilate(mask, None, iterations=2)
# 找到轮廓
contours, _ = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
for contour in contours:
if cv2.contourArea(contour) > 1400: # 过滤掉小面积的轮廓
(x, y, w, h) = cv2.boundingRect(contour)
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 显示结果
cv2.imshow('Detected Blue Ball', image)
cv2.waitKey(0)
import time
time.sleep(10)
cv2.destroyAllWindows()