OpenCV影象顏色反轉示例
影象顏色的反轉,比較簡單的思路就是使用255減去當前值,從而得到反轉後的影象。原始圖片:
原始圖片
1、灰度影象的顏色反轉
import cv2 import numpy as np # 灰度 0-255 255-當前灰度值 img = cv2.imread('linuxidc.com.jpg', 1) imgInfo = img.shape height = imgInfo[0] width = imgInfo[1] gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) dst = np.zeros((height, width, 1), np.uint8) for i in range(height): for j in range(width): grayPixel = 255 - gray[i, j] dst[i, j] = grayPixel cv2.imshow('linuxidc.com', dst) cv2.waitKey(0)
用255減去當前灰度值,得到反轉後的影象。影象如下:
2、BGR影象的反轉
import cv2 import numpy as np img = cv2.imread('linuxidc.com.jpg', 1) imgInfo = img.shape height = imgInfo[0] width = imgInfo[1] dst = np.zeros((height, width, 3), np.uint8) for i in range(height): for j in range(width): (b, g, r) = img[i, j] b = 255 - b g = 255 - g r = 255 - r dst[i, j] = (b, g, r) cv2.imshow('www.linuxidc.com', dst) cv2.waitKey(0)
BGR影象反轉也是一樣,同樣是使用255減去每一個通道的當前值。效果如下:
更多Python相關資訊見 Python 專題頁面 https://www.linuxidc.com/topicnews.aspx?tid=17
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2019-05/158621.htm