在此程序中,我们将使用OpenCV-python(cv2)模块的两个功能。首先让我们看看它们的语法和说明。
1) imread():
它将图像文件的绝对路径/相对路径作为参数,并返回其对应的图像矩阵。
2) imshow():
以窗口名称和图像矩阵为参数,以便在具有指定窗口名称的显示窗口中显示图像。
同样在此程序中,我们将使用图像矩阵的一个属性:
形状:这是图像矩阵的属性,该属性返回图像的形状,即由行数,列数和平面数组成。
在灰度图像的情况下,仅需要一个平面。如果平面数为1,则shape属性仅返回行数和列数。
另外,这里我们使用数组切片的概念
设A为一维数组:
A [start:stop:step]
start:序列的起始编号。
停止:生成不超过此数字的数字,但不包括此数字。
步骤:序列中每个数字之间的差。
示例
A = [1,2,3,4,5,6,7,8,9,10] print(A[ 1 : : 2]) Output: [2, 4, 6, 9]
# open-cv库在python中安装为cv2 # 将cv2库导入此程序 import cv2 # 提供您想要调整图像大小的值 # 在这里我们想将图像调整为原始图像的一半 x,y= 2,2 # read an image using imread() function of cv2 # 我们只需要传递图像的路径 img = cv2.imread(r'C:/Users/user/Desktop/pic2.jpg',0) # displaying the image using imshow() function of cv2 # 在此:第一个参数是框架的名称 # 第二个参数是图像矩阵 cv2.imshow('original image',img) # 打印图像矩阵的形状 # 使用形状属性 print("original image shape:",img.shape) # 这里我们换行,列像素。 # 我们分别取行和列的一半像素 # 因此它是图像矩阵的一半。 resize_img = img[::x,::y] cv2.imshow('resize image',resize_img) # 打印图像矩阵的形状 # 使用形状属性 print("resize image shape:",resize_img.shape)
输出结果