在 Python 中使用 OpenCV 模組反轉影象

Vaibhav Vaibhav 2024年2月15日
  1. 反轉影象
  2. 在 Python 中使用 bitwise_not() 方法反轉影象
  3. 在 Python 中使用 numpy.invert() 方法反轉影象
在 Python 中使用 OpenCV 模組反轉影象

OpenCV 或開源計算機視覺庫是用於影象處理和機器學習的實時計算機視覺庫。它是用 C/C++ 編寫的,可用於許多程式語言,如 C++、Python 和 Java。在 Python 中,OpenCV 通常與 NumPy 一起使用,NumPy 是一個基於 Python 的矩陣、多維陣列和數學計算庫。

影象使用 NumPy 多維陣列表示,並使用 OpenCV 進行處理。使用 OpenCV 模組可以對影象進行翻轉、縮放、旋轉、映象、改變顏色、反轉顏色等多種操作。在本文中,我們將學習如何使用 OpenCV 模組反轉影象。

反轉影象

影象使用 RGB 或紅綠藍值表示。每個都可以採用 0255 之間的整數值(都包括在內)。例如,紅色用 (255, 0, 0) 表示,白色用 (255, 255, 255) 表示,黑色用 (0, 0, 0) 等表示。

反轉影象意味著反轉影象上的顏色。例如,紅色的反轉顏色將為 (0, 255, 255)。請注意,0 變成了 255255 變成了 0。這意味著反轉影象本質上是從 255 中減去舊的 RGB 值。

New_Value = 255 - Old_Value

原圖:

在 python opencv 中反轉影象 - 原始

倒象:

在 python opencv 中反轉影象 - 原始

在 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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

相關文章 - Python OpenCV