配置及使用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)
相关推荐
scx_link7 分钟前
Word2Vec词嵌入技术和动态词嵌入技术
人工智能·自然语言处理·word2vec
云梦谭9 分钟前
Cursor 编辑器:面向 AI 编程的新一代 IDE
ide·人工智能·编辑器
IT_陈寒18 分钟前
Redis性能提升50%的7个关键优化策略,90%开发者都不知道第5点!
前端·人工智能·后端
乐迪信息25 分钟前
乐迪信息:AI摄像机在智慧煤矿人员安全与行为识别中的技术应用
大数据·人工智能·算法·安全·视觉检测
AI人工智能+25 分钟前
炫光活体检测技术:通过光学技术实现高效、安全的身份验证,有效防御多种伪造手段。
人工智能·深度学习·人脸识别·活体检测
咔咔一顿操作35 分钟前
第七章 Cesium 3D 粒子烟花效果案例解析:从原理到完整代码
人工智能·3d·信息可视化·cesium
微三云-轩1 小时前
区块链:重构企业数字化的信任核心与创新动力
人工智能·小程序·区块链·生活·我店
君名余曰正则1 小时前
机器学习04——决策树(信息增益、信息增益率、ID3、C4.5、CART、剪枝、连续值缺失值处理)
人工智能·决策树·机器学习
中电金信1 小时前
中电金信:AI重构测试体系·智能化时代的软件工程新范式
人工智能·重构·软件工程
多恩Stone1 小时前
【3DV 进阶-2】Hunyuan3D2.1 训练代码详细理解下-数据读取流程
人工智能·python·算法·3d·aigc