在此程序中,我们将使用OpenCV-python(cv2)模块的两个功能。.首先让我们看看它们的语法和说明。
1) imread():
它将图像文件的绝对路径/相对路径作为参数,并返回其对应的图像矩阵。
如果标志值为:
1:加载彩色图像。
0:以灰度模式加载图像。
-1:加载图像,包括alpha通道。
如果未给出标志值,则显示原始图像,并给出哪个路径。
2) imshow():
以窗口名称和图像矩阵为参数,以便在具有指定窗口名称的显示窗口中显示图像。
同样在此程序中,我们将使用图像矩阵的一个属性:
Shape:这是图像矩阵的属性,该属性返回图像的形状,即由行数,列数和平面数组成。
如果是灰度图像,则仅存在一个平面。如果平面数比shape属性多1,则仅返回行数和列数。
另外,在此程序中,我们使用数组切片的概念
设A为一维数组:
A [start:stop:step]
start:序列的起始编号。
stop:生成不超过此数字的数字,但不包括此数字。
step:序列中每个数字之间的差。
示例
A = [1,2,3,4,5,6,7,8,9,10] print(A[ 10 : : -2]) Output: [10, 8, 6,4,2]
# 导入numpy库为np import numpy as np # open-cv库在python中安装为cv2 # 将cv2库导入此程序 import cv2 # read an image as grayscale using imread() function of cv2 # 我们必须传递图像的路径并将标志值标记为0 img = cv2.imread(r'C:/Users/user/Desktop/pic6.jpg',0) # displaying the image using imshow() function of cv2 # 在此:第一个参数是框架的名称 # 第二个参数是图像矩阵 cv2.imshow('original image',img) # img矩阵的形状属性返回元组 #里面没有。img中存在的ros和列。 row,col = img.shape # 在这里,我们按照相反的顺序处理所有行,并像以前一样处理列。 img = img[row-1: :-1, :] # 显示形成的图像 cv2.imshow("Rotate image", img);
输出结果