python open cv(图像处理的基本操作)

概要图

1读取图像

cv2.imread() 函数是OpenCV库中用于读取图像文件的函数。它有两个参数:

  1. 文件名:这是第一个也是必需的参数,它指定了要读取的图像文件的路径和文件名。这个路径可以是相对路径,也可以是绝对路径。

  2. 标志:这是第二个参数,它是可选的,用于指定图像的读取方式。这个参数有三个预定义的值,通常使用以下两个:

    • cv2.IMREAD_COLOR:这是默认值,它加载一个彩色图像。任何图像的透明度都会被忽略。在代码中通常用数字1表示。
    • cv2.IMREAD_GRAYSCALE:这个标志将图像以灰度模式读取。在代码中通常用数字0表示。
    • cv2.IMREAD_UNCHANGED:这个标志以包括alpha通道(如果存在)的方式加载图像。在代码中通常用数字-1表示。
python 复制代码
import cv2
tupian ='D:\\1\\GenRen\\xvexi\\python\\python_opencv_\\li1.jpg'
image = cv2.imread(tupian)
print("ok1")
image2 = cv2.imread('li1.jpg')
print("ok2")
print(image2)

扩展

Alpha 通道是图像处理中的一个术语,它代表了一个额外的颜色通道,用于存储图像中每个像素的透明度信息。Alpha 通道通常与红色(R)、绿色(G)和蓝色(B)通道一起使用,构成所谓的 RGBA 颜色空间,其中:

  • R(红色)通道代表红色分量。
  • G(绿色)通道代表绿色分量。
  • B(蓝色)通道代表蓝色分量。
  • A(Alpha)通道代表透明度分量。

Alpha 通道的工作原理如下:

  • Alpha 值为 0 表示像素是完全透明的。
  • Alpha 值为 255(或在其位深度范围内的最大值)表示像素是完全不透明的。
  • Alpha 值介于 0 和 255 之间表示像素具有不同程度的半透明性。

以下是 Alpha 通道的一些用途:

  1. 图像合成: Alpha 通道允许图像合成,其中可以将一个图像叠加到另一个图像上,而不显示背景。这在创建图形和视觉效果时非常有用。

  2. 透明效果: 在网页设计和动画中,Alpha 通道用于创建透明背景的图像,允许背景颜色或图像透过来。

  3. 去背景: 在图像编辑中,可以使用 Alpha 通道去除图像的背景,以便将对象从其背景中分离出来。

  4. 视觉效果: 在电影和视频游戏中,Alpha 通道用于创建烟雾、火焰和其他半透明的视觉效果。

  5. 图形软件: 在图形设计软件(如Adobe Photoshop)中,Alpha 通道用于创建和编辑选择区域,以及保存和载入选区。

注意

路径不可有中文

复制代码
'D:/li1.jpg'  等于  'D:\\li1.jpg' 

2显示图像

2-1 cv2.imshow()

cv2.imshow() 是 OpenCV 库中的一个函数,用于显示图像。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了很多处理图像和视频的函数。

以下是 cv2.imshow() 函数的基本用法:

python 复制代码
cv2.imshow(window_name, image)
  • window_name:字符串类型,表示显示图像的窗口名称。(一个名字)
  • image:要显示的图像,通常是 NumPy 数组格式。(读取的图像数据
python 复制代码
import cv2

image1 = cv2.imread('li1.jpg')
print(image1)
cv2.imshow('chuang_ko', image1)

2-2 cv2.waitKey()

cv2.waitKey() 函数是 OpenCV 库中的一个函数,用于等待一个按键事件发生 。这个函数通常用于在显示图像的窗口中暂停程序,直到用户按下某个键。以下是关于 cv2.waitKey() 的详细信息:

函数原型:

复制代码
retval = cv2.waitKey([delay])

参数:

  • delay:这是一个可选的整数参数,指定了函数等待按键事件的时间(以毫秒为单位 )。如果 delay 是正数,函数将等待指定的毫秒数;如果在这段时间内没有按键事件发生,函数将返回 -1。如果 delay 是 0,函数将无限期等待按键事件。

返回值:

  • retval:返回值是按键的 ASCII 码值,或者如果没有按键事件发生且 delay 为正数时,返回 -1。如果 delay 为 0 并且用户按下了某个键,retval 将是按键对应的 ASCII 码值。
  • 规定时间没按下返回 -1
  • 规定时间按下返回按下键的ASCII码
  • 值为0时一直等待按下

2-3 cv2.destroyAllWindows()

在 OpenCV 中,cv2.destroyAllWindows() 函数用于关闭所有已经打开的 OpenCV 窗口。这个函数没有返回值,它的作用是清理所有与 OpenCV 窗口相关的资源。

(注意大小写)

python 复制代码
import cv2

image1 = cv2.imread('li1.jpg')
print(image1)
cv2.imshow('chuang_k1o', image1)
cv2.destroyAllWindows()
cv2.imshow('chuang_ko', image1)
retval1 = cv2.waitKey(0)  #用于等待一个按键事件发生
print(retval1)
扩展

cv2.destroyWindows() 是 OpenCV 库中的一个函数,用于关闭指定的 OpenCV 窗口。与 cv2.destroyAllWindows() 不同,cv2.destroyWindows() 允许你指定要关闭的窗口名称列表。

python 复制代码
# 关闭指定的窗口
cv2.destroyWindow('Window 1')

# 'Window 1'  是窗口的名字

3保存图像

cv2.imwrite() 是 OpenCV 库中的一个函数,用于将图像保存到文件中。这个函数非常有用,尤其是在处理图像后需要保存结果时。

函数原型如下:

复制代码
retval = cv2.imwrite(filename, img)

参数:

  • filename:这是一个字符串,指定了要保存图像的文件路径和文件名。文件扩展名(如 .jpg.png.bmp 等)决定了图像的保存格式。
  • img:这是一个 NumPy 数组,代表要保存的图像。

返回值:

  • retval:这是一个布尔值,表示图像是否成功保存。如果保存成功 ,返回 True ;如果失败 ,返回 False
python 复制代码
import cv2

image1 = cv2.imread('li1.jpg')
print(image1)
cv2.imwrite("li2.jpg", image1)

#第一个参数是文件路径和文件名
#只写文件名表示为当前路径

注意

路径不可有中文

4获取图像属性

  • image.shape:返回一个元组,表示图像的高度、宽度和通道数(对于彩色图像是 3,对于灰度图像是 1)。
  • image.size:返回一个整数,表示图像中元素的总数。对于彩色图像,这将是高度乘以宽度乘以通道数。
  • image.dtype:返回图像数据类型。通常,OpenCV 中的图像数据类型是 uint8,表示图像中的每个像素值都是一个 8 位的无符号整数。
python 复制代码
import cv2

# 读取图像
image1 = cv2.imread('li1.jpg')

# 打印图像的形状
print(image1.shape)  # 输出是 (height, width, channels)(高,宽,通道)

# 打印图像的大小(元素的总数)
print(image1.size)  # 输出是 height * width * channels

# 打印图像的数据类型
print(image1.dtype)  # 输出是 uint8
相关推荐
禁默9 分钟前
第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025)
大数据·人工智能·物联网
chxin1401621 分钟前
openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 四(91-)
c++·opencv·计算机视觉
茜茜西西CeCe41 分钟前
数字图像处理-巴特沃斯高通滤波、低通滤波
图像处理·opencv·计算机视觉·matlab·巴特沃斯高通滤波·巴特沃斯低通滤波
天天爱吃肉82181 小时前
【比亚迪璇玑架构深度解析:重新定义智能电动汽车的“整车智能”】
数据库·人工智能·嵌入式硬件·架构·汽车
semantist@语校2 小时前
第十九篇|东京世界日本语学校的结构数据建模:制度函数、能力矩阵与升学图谱
数据库·人工智能·线性代数·矩阵·prompt·github·数据集
guygg882 小时前
HOG + SVM 行人检测
人工智能·机器学习·支持向量机
和鲸社区2 小时前
四大经典案例,入门AI算法应用,含分类、回归与特征工程|2025人工智能实训季初阶赛
人工智能·python·深度学习·算法·机器学习·分类·回归
IT古董2 小时前
【第五章:计算机视觉】1.计算机视觉基础-(3)卷积神经网络核心层与架构分析:卷积层、池化层、归一化层、激活层
人工智能·计算机视觉·cnn
黎燃2 小时前
AI生成音乐的创作逻辑深析:以AIVA为例
人工智能
点云SLAM2 小时前
四元数 (Quaternion)在位姿(SE(3))表示下的各类导数(雅可比)知识(2)
人工智能·线性代数·算法·机器学习·slam·四元数·李群李代数