在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()