在Python中翻转图像

假设我们有一个二进制矩阵A,它是图像的表示形式,我们想水平翻转图像,然后将其反转,最后返回结果图像。要水平翻转图像,图像的每一行都将反转。为了反转图像,每个0将被替换为1,并且每个1将被替换为0。

所以,如果输入像

110
101
000

那么输出将是

100
010
111

为了解决这个问题,我们将遵循以下步骤-

  • 结果:=一个新列表

  • 对于A中的每一行,

    • 如果Reverse [j]与1相同,则

    • 除此以外,

    • 反转[j]:= 0

    • 反转[j]:= 1

    • 反向:=反向行i

    • 对于范围在0到反向大小之间的j,执行

    • 在结果末尾插入反向

    • 返回结果

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def flipAndInvertImage(self, A):
          result=[]
          for i in A:
             Reverse=i[::-1]
             for j in range(len(Reverse)):
                if Reverse[j]==1:
                   Reverse[j]=0
                else:
                   Reverse[j]=1
                   result.append(Reverse)
          return result
    ob = Solution()print(ob.flipAndInvertImage([[1,1,0],[1,0,1],[0,0,0]]))

    输入项

    [[1,1,0],[1,0,1],[0,0,0]]

    输出结果

    [[1, 0, 0], [0, 1, 0], [1, 1, 1]]