配置及使用OpenCV(Python)

python配置OpenCV相对于c++的配置方法容易的多,但建议在Anaconda中的Python虚拟环境中使用,这样更方便进行包管理和环境管理:

先激活Anaconda的python虚拟环境:

bash 复制代码
conda activate GGBoy

随后下载 opencv 包:

bash 复制代码
conda install opencv

下载完成后在python终端导入 cv2 测试下是否下载成功

bash 复制代码
(GGBoy) C:\Users\114514>python
Python 3.6.13 |Anaconda, Inc.| (default, Mar 16 2021, 11:37:27) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>

使用Opencv显示图像:

python 复制代码
import cv2
import sys

if len(sys.argv) > 1:  
    image = cv2.imread(sys.argv[1], cv2.IMREAD_UNCHANGED)  
    if image is None:  
        print(f"未能读取图像文件: {sys.argv[1]}")  
        sys.exit(1)  
else:  
    print("请提供图像文件路径作为命令行参数。")  
    sys.exit(1)  
  
cv2.imshow("image", image)  
cv2.waitKey(0)  
cv2.destroyAllWindows()

随后在虚拟环境中运行此文件:

在运行命令后要加上图像的存放路径

bash 复制代码
(GGBoy) C:\Users\114514>cd C:\Users\114514\Desktop

(GGBoy) C:\Users\114514\Desktop>python cv36.py C:\Users\114514\Desktop\GGBoy.jpg

显示图像

使用Opencv将图片数字化:

python 复制代码
import cv2  
import numpy as np  
   
image_path = 'C:\\Users\\114514\\Desktop\\GGBoy.jpg' 
image = cv2.imread(image_path)  
  
if image is None:  
    print(f"无法读取图片: {image_path}")  
else:   
    print(f"图片形状: {image.shape}")  
    print(f"图片数据类型: {image.dtype}")  
      
    # 通过numpy数组来访问和操作这些数字化数据  
    digitized_image = np.array(image)  
      
    # 打印数字化矩阵的一部分(左上角的10x10像素)  
    print(digitized_image[:10, :10])

彩色图片转换为灰度图片:

python 复制代码
import cv2  
  
image_path = 'C:\\Users\\114514\\Desktop\\ggboy.jpg'
color_image = cv2.imread(image_path)  
  
if color_image is None:  
    print(f"未能读取图片: {image_path}")  
else:  
    gray_image = cv2.cvtColor(color_image, cv2.COLOR_BGR2GRAY)  
  
    cv2.imshow('GGBoy Image', gray_image)  
    cv2.waitKey(0)  
    cv2.destroyAllWindows()  
  
    gray_image_path = 'C:\\Users\\114514\\Desktop\\ggboy2.jpg'  
    cv2.imwrite(gray_image_path, gray_image)
相关推荐
吴佳浩43 分钟前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
吴佳浩1 小时前
GPU 编号错乱踩坑指南:PyTorch cuda 编号与 nvidia-smi 不一致
人工智能·pytorch·nvidia
小饕1 小时前
苏格拉底式提问对抗315 AI投毒:实操指南
网络·人工智能
全栈凯哥1 小时前
18.Python中的导入类完全指南
python
卧蚕土豆1 小时前
【有啥问啥】OpenClaw 安装与使用教程
人工智能·深度学习
GoCodingInMyWay1 小时前
开源好物 26/03
人工智能·开源
AI科技星1 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
zhangfeng11332 小时前
Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
人工智能·windows·git·bash
sunwenjian8862 小时前
Java进阶——IO 流
java·开发语言·python
monsion2 小时前
OpenCode 学习指南
人工智能·vscode·架构