有人知道《图像处理与计算机视觉实践》这本书中python和opencv-python的版本吗?我这的环境下报错,我想弄一个虚拟环境配置书本中的版本应该就可以运行了。

有人知道《图像处理与计算机视觉实践》这本书中python和opencv-python的版本吗?我这的环境下报错,我想弄一个虚拟环境配置书本中的版本应该就可以运行了。

关注引自免费微信小程序:皆我百晓生
在Python环境中安装OpenCV库及其相关模块通常涉及到以下几个步骤:
Step 1: 下载OpenCV源代码
首先,你需要从OpenCV官方网站(https://opencv.org/downloads/)下载最新的Python版安装包。然后,你可以使用pip命令安装,如下所示:
pip install opencv-python
Step 2: 创建一个新的Python项目
如果你尚未创建一个新的Python项目,可以使用以下命令初始化一个新的空项目:
mkdir my_project
cd my_project
python3 -m venv env
source env/bin/activate
在这个过程中,venv是虚拟环境的名称,env是你项目的当前工作目录,activate命令激活了这个虚拟环境。
Step 3: 安装依赖项
在新创建的虚拟环境中,你需要安装一些依赖项,包括OpenCV和Pillow库,这两个库是OpenCV的核心库和图片预处理工具:
pip install opencv-python-headless pillow
Step 4: 加载库和导入必要的模块
接下来,你需要加载OpenCV库,并将其作为模块导入到你的Python程序中。例如,如果你想导入OpenCV2.5.x版本,可以在你的main.py文件中这样导入:
import cv2
from PIL import Image, ImageDraw, ImageFont
Step 5: 使用OpenCV函数进行图像处理
在主循环中,你可以调用OpenCV的各种函数和方法来进行图像处理,例如进行图像读取、裁剪、滤波、保存等操作。例如,下面是一个简单的示例,展示如何使用OpenCV的resize()函数将一个200x200像素的图像缩放到100x100像素:
img = cv2.imread('input_image.jpg')
# 原始图像大小
height, width = img.shape[:2]
# 将原始图像调整为100x100像素
resized_img = cv2.resize(img, (100, 100), interpolation=cv2.INTER_CUBIC)
# 显示原图像和缩放后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0) # 按回车键等待用户输入
cv2.destroyAllWindows()
Step 6: 在虚拟环境中使用pip命令启动一个服务并运行代码
现在,你已经创建了一个OpenCV的项目,并在虚拟环境中安装了所需的库和模块。为了在虚拟环境中启动一个名为"my_service"的服务并在其中运行上述代码,你可以按照以下步骤进行:
cd my_service
pyperv init
pyperv run --template 'bare' \
--ini 'my_service/my_service.ini' \
--num-threads 8 \
--loglevel info \
--log-file /var/log/pyperv/my_service.log
在这个配置文件中,我们指定了服务的模板类型("bare"表示裸机服务),并设置了主机名(my_host)、子网掩码(my_subnet)、IP地址(my_ip)以及默认端口号(my_port)。此外,我们还设置了日志级别(info代表标准输出),并将日志文件保存到/var/log/pyperv/my_service.log。
pyperv up
至此,你已经在虚拟环境中成功创建了一个使用OpenCV和Pillow进行图像处理和机器学习的Web服务。访问浏览器(http://localhost:your-port/)并输入URL "http://localhost:8080/image-processing/" 可以看到从原始图像缩放到100x100像素的缩放效果。注意:这个例子中的URL是URL重写,需要根据实际情况修改。
注意,如果你是在Windows环境中运行此教程,可能需要替换为"my_host"、"my_subnet"、"my_ip"、"my_port"等字符串为对应的Windows路径和端口信息。同时,由于Windows系统不支持像Linux那样通过 /bin/python 命令启动服务,你需要在服务文件中指定 --program python3,以便系统自动加载Python解释器,从而启动服务。