在 Python 中使用 OpenCV 模組反轉影象
Vaibhav Vaibhav
2024年2月15日
OpenCV 或開源計算機視覺庫是用於影象處理和機器學習的實時計算機視覺庫。它是用 C/C++ 編寫的,可用於許多程式語言,如 C++、Python 和 Java。在 Python 中,OpenCV 通常與 NumPy 一起使用,NumPy 是一個基於 Python 的矩陣、多維陣列和數學計算庫。
影象使用 NumPy 多維陣列表示,並使用 OpenCV 進行處理。使用 OpenCV 模組可以對影象進行翻轉、縮放、旋轉、映象、改變顏色、反轉顏色等多種操作。在本文中,我們將學習如何使用 OpenCV 模組反轉影象。
反轉影象
影象使用 RGB 或紅綠藍值表示。每個都可以採用 0
和 255
之間的整數值(都包括在內)。例如,紅色用 (255, 0, 0)
表示,白色用 (255, 255, 255)
表示,黑色用 (0, 0, 0)
等表示。
反轉影象意味著反轉影象上的顏色。例如,紅色的反轉顏色將為 (0, 255, 255)
。請注意,0
變成了 255
,255
變成了 0
。這意味著反轉影象本質上是從 255
中減去舊的 RGB 值。
New_Value = 255 - Old_Value
原圖:
倒象:
在 Python 中使用 bitwise_not()
方法反轉影象
OpenCV 有一個 bitwise_not()
方法,它執行按位非操作。我們可以使用這個函式來反轉影象。參考以下程式碼。它認為你的工作目錄中有一個名為 image.png
的影象。
import cv2
image = cv2.imread("image.png", 0)
inverted_image = cv2.bitwise_not(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)
該程式將首先載入影象,將其反轉並將其儲存在工作目錄中。之後,它將顯示原始影象和反轉影象。
在 Python 中使用 numpy.invert()
方法反轉影象
NumPy 有一個 invert()
方法,它執行按位反轉或按位非操作。以下程式碼顯示了我們如何使用此方法執行反演。
import cv2
import numpy as np
image = cv2.imread("image.png", 0)
inverted_image = np.invert(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)
要了解有關
invert()
方法的更多資訊,請參閱此處
作者: Vaibhav Vaibhav