用 Python 翻轉影像
假設我們有一個二進位制矩陣 A,這是影像的表示,我們想要水平翻轉該影像,然後對它求反,最後返回結果影像。要水平翻轉影像,影像的每一行都將被反轉。要對影像求反,每個 0 將被替換為 1,而每個 1 將被替換為 0。
因此,如果輸入如下
1 | 1 | 0 |
1 | 0 | 1 |
0 | 0 | 0 |
則輸出為
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
為了解決這個問題,我們將遵循以下步驟 -
- result:= 一個新列表
- 對 A 中的每行 i 執行以下操作
- Reverse:= 反轉行 i
- 對 0 到 Reverse 大小的 j 進行以下操作
- 如果 Reverse[j] 與 1 相同,則
- Reverse[j]:= 0
- 否則
- Reverse[j]:= 1
- 如果 Reverse[j] 與 1 相同,則
- 將 Reverse 插入到 result 的末尾
- 返回 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]]
廣告