将灰度图像旋转180度,在Python中不使用任何内置函数

在此程序中,我们将使用OpenCV-python(cv2)模块的两个功能。.首先让我们看看它们的语法和说明。

1) imread():
它将图像文件的绝对路径/相对路径作为参数,并返回其对应的图像矩阵。

如果标志值为:

  • 1:加载彩色图像。

  • 0:以灰度模式加载图像。

  • -1:加载图像,包括alpha通道。

如果未给出标志值,则显示原始图像,并给出哪个路径。

2) imshow():
以窗口名称和图像矩阵为参数,以便在具有指定窗口名称的显示窗口中显示图像。

同样在此程序中,我们将使用图像矩阵的一个属性:

Shape:这是图像矩阵的属性,该属性返回图像的形状,即由行数,列数和平面数组成。

如果是灰度图像,则仅存在一个平面。如果平面数比shape属性多1,则仅返回行数和列数。

另外,在此程序中,我们使用数组切片的概念

设A为一维数组:
A [start:stop:step]

  1. start:序列的起始编号。

  2. stop:生成不超过此数字的数字,但不包括此数字。

  3. step:序列中每个数字之间的差。

示例

    A = [1,2,3,4,5,6,7,8,9,10]
    print(A[ 10 : : -2])

    Output:
    [10, 8, 6,4,2]

Python程序无需使用任何内置函数即可将灰度图像旋转180度

# 导入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);

输出结果

在Python中旋转灰度图像-输出