Python读取影像的长和宽
- 编程知识
- 2023-06-12
- 3
本文将从多个方面对Python读取影像的长和宽进行详细阐述,包括读取影像的方式、处理影像数据以及展示影像等方面。
一、读取影像的方式
在Python中,可以使用多种库(如OpenCV、Pillow等)读取影像数据,这里以OpenCV为例。
import cv2
# 读取影像
img = cv2.imread('image.jpg')
# 获取影像长和宽
height, width = img.shape[:2]
print("影像长为:", height)
print("影像宽为:", width)
需要注意的是,OpenCV读取的影像数据的顺序是BGR,而不是常见的RGB。同时,使用OpenCV读取的影像数据是numpy数组格式。
二、处理影像数据
读取影像数据后,可以通过索引(即数组下标)来获取影像长和宽。
import cv2
# 读取影像
img = cv2.imread('image.jpg')
# 获取影像长和宽
height = img.shape[0]
width = img.shape[1]
print("影像长为:", height)
print("影像宽为:", width)
另外,还可以对影像数据进行处理,例如截取其中一部分区域:
import cv2
# 读取影像
img = cv2.imread('image.jpg')
# 获取影像长和宽
height = img.shape[0]
width = img.shape[1]
# 截取影像中间区域
start_row, start_col = int(height * 0.25), int(width * 0.25)
end_row, end_col = int(height * 0.75), int(width * 0.75)
cropped_img = img[start_row:end_row, start_col:end_col]
# 展示影像
cv2.imshow("Cropped Image", cropped_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
三、展示影像
通过OpenCV可以很方便地展示影像数据,可以使用cv2.imshow()函数实现:
import cv2
# 读取影像
img = cv2.imread('image.jpg')
# 获取影像长和宽
height, width = img.shape[:2]
# 展示影像
cv2.imshow("Original Image", img)
cv2.waitKey(0)
# 修改像素值
img[100:200, 100:200] = [255, 255, 255]
# 展示修改后的影像
cv2.imshow("Modified Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
当然,除了OpenCV外,还有其他的库(如matplotlib)也可以用来展示影像。
四、结语
本文从读取影像的方式、处理影像数据以及展示影像等方面,对Python读取影像的长和宽进行了详细的阐述。通过学习本文,相信读者可以更加深入地理解Python在影像处理方面的应用。