在 Python 中翻转图像

pythonserver side programmingprogramming更新于 2023/11/9 20:22:00

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

因此,如果输入如下

110
101
000

则输出将是

100
010
11

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

  • result:= 一个新列表
  • 对于 A 中的每一行 i,执行
    • 反向:= 反向行 i
    • 对于 0 到反向大小范围内的 j,执行
      • 如果 Reverse[j] 与 1 相同,则
        • 反向[j]:= 0
      • 否则,
        • Reverse[j]:= 1
    • 在 result 末尾插入 Reverse
  • 返回 result

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

示例

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]]

相关文章