配置及使用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)
相关推荐
小当家.1056 小时前
PostgreSQL 做向量数据库:pgvector 在 RAG 中的实战与多场景适配
数据库·人工智能·postgresql·rag
ForgeAI码匠6 小时前
Maven 多模块项目如何避免越写越乱?Forge Admin 的模块边界实践
java·人工智能·开源·maven
无情的西瓜皮6 小时前
MCP协议实战:从零搭建一个AI Agent工具服务器
运维·服务器·python
Dola_Zou6 小时前
工业软件防破解避坑指南:CodeMeter 全流程入门与选型(上)
人工智能·自动化·视觉检测·软件工程·软件加密
生成论实验室6 小时前
我们给AI装上了判断力
人工智能·深度学习·语言模型·机器人·自动驾驶
掘金安东尼6 小时前
国内通用智能体(本地操作型 Agent)深度测评对比
人工智能
完成大叔6 小时前
Agent感知模式的情景化联想应用
人工智能
金山云6 小时前
金山云Q1营收同比增长37.2% 调整后EBITDA率提升至27.6%
人工智能·金山云·财报
searchforAI7 小时前
B站视频转笔记用哪个工具?2026年四款AI笔记工具对比实测
人工智能·经验分享·笔记·gpt·学习·视频总结·ai笔记
IT策士7 小时前
Django 从 0 到 1 打造完整电商平台:系列总结 + 项目演示与后续扩展
后端·python·django