OpenCV 对图片亮度增强或减弱
生活随笔
收集整理的這篇文章主要介紹了
OpenCV 对图片亮度增强或减弱
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對每個像素點的三通道值進行同步放大,同時保持通道值在0-255之間
將圖像中的像素限制在最小值和最大值之間,超過此區間的值賦值為最小值或最大值
圖片亮度增強
import cv2 import numpy as np import matplotlib.pyplot as pltimg = cv2.imread('1.png', 1) height, width = img.shape[:2]dst = np.zeros((height, width, 3), np.uint8) for i in range(0, height):for j in range(0, width):(b, g, r) = img[i, j]bb = int(b) + 50gg = int(g) + 50rr = int(r) + 50if bb > 255:bb = 255if gg > 255:gg = 255if rr > 255:rr = 255dst[i, j] = (bb, gg, rr)img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB) plt.figure(figsize=(14, 6), dpi=100) # 設置繪圖區域的大小和像素 plt.subplot(121) plt.imshow(img) plt.subplot(122) plt.imshow(dst) plt.show()運行結果:
運行結果:
圖片亮度減弱
import cv2 import numpy as np import matplotlib.pyplot as pltimg = cv2.imread('1.png', 1) height, width = img.shape[:2]dst = np.zeros((height, width, 3), np.uint8) for i in range(0, height):for j in range(0, width):(b, g, r) = img[i, j]bb = int(b) - 50gg = int(g) - 50rr = int(r) - 50if bb < 0:bb = 0if gg < 0:gg = 0if rr < 0:rr = 0dst[i, j] = (bb, gg, rr)img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB) plt.figure(figsize=(14, 6), dpi=100) # 設置繪圖區域的大小和像素 plt.subplot(121) plt.imshow(img) plt.subplot(122) plt.imshow(dst) plt.show()運行結果:
總結
以上是生活随笔為你收集整理的OpenCV 对图片亮度增强或减弱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Windows下安装labelImg
- 下一篇: OpenCV 双边滤波