image.shape[0],image.shape[1],image.shape[2]

本文介绍使用OpenCV模块读取图片的垂直尺寸、水平尺寸及通道数的方法。通过image.shape属性,可以获取图片的高、宽和通道信息,便于进行后续的图像处理工作。

import cv2
image=cv2.imread("D:/shape.bmp")
print(image.shape[0])
print(image.shape[1])
print(image.shape[2])
结果
300
200
3
其中shape.bmp是一张水平200像素,垂直300像素的彩色图

image.shape[0], 图片垂直尺寸

image.shape[1], 图片水平尺寸

image.shape[2], 图片通道数

-------------------------------------------------------------------------------------------------

img.shape[:2] 取彩色图片的垂直(称作heigh)、水平(称作width),如果mg.shape[:3] 取取彩色图片的高、宽、通道

[0:2]这个应当是切片的意思

img.shape 应当是OpenCV模块中处理图片的 是图片的一个属性 ,这个属性是个列表 然后对这个列表切片操作

---------------------  
 

在图像处理中,`h, w = image.shape[:2]` 是一种常见的代码片段,用于从图像的形状(shape)中提取高度(height)和宽度(width)。这种写法通常出现在使用 OpenCV 或 NumPy 处理图像时。下面我将详细解释这段代码,并提供相关示例。 --- ### 示例:从图像中提取高度和宽度 假设我们有一张图像 `image`,它是一个 NumPy 数组,表示为 `(height, width, channels)` 的三维数组。以下代码展示了如何提取图像的高度和宽度: ```python import cv2 import numpy as np # 加载图像(假设是一张彩色图像) image = cv2.imread("example.jpg") # 检查图像是否成功加载 if image is None: print("图像加载失败,请检查文件路径或图像完整性。") else: # 提取图像的高度和宽度 h, w = image.shape[:2] print(f"图像的高度为: {h}, 宽度为: {w}") ``` --- ### 上述代码解释: 1. **`image.shape`**: - 如果图像是一张彩色图像(如 RGB 图像),它的形状通常是 `(height, width, channels)`,其中 `channels` 表示颜色通道数(例如 3 表示 RGB,1 表示灰度图)。 - 如果是灰度图像,则形状为 `(height, width)`。 2. **`image.shape[:2]`**: - 使用切片操作 `[:2]` 提取形状的前两个值,即高度(`height`)和宽度(`width`)。 - 这样可以忽略第三个维度(颜色通道数),即使对于灰度图像也适用。 3. **`h, w = image.shape[:2]`**: - 将提取的高度和宽度分别赋值给变量 `h` 和 `w`。 4. **错误检查**: - 在访问 `image.shape` 之前,先检查 `image` 是否为 `None`,以避免因文件路径错误或图像损坏导致的异常。 --- ### 注意事项: - 如果图像加载失败(例如文件不存在或路径错误),`cv2.imread()` 会返回 `None`,此时尝试访问 `image.shape` 会导致 `AttributeError`。 - 灰度图像的形状只有两个维度 `(height, width)`,因此直接使用 `image.shape[:2]` 是安全的。 --- ### 示例输出: 假设加载的图像大小为 600x800 像素,则输出如下: ``` 图像的高度为: 600, 宽度为: 800 ``` --- ###
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值