Как определить уровень яркости изображения?Python

Программы на Python
Anonymous
Как определить уровень яркости изображения?

Сообщение Anonymous »

Я работаю над проектом по распознаванию фотографий, сделанных с помощью других устройств, таких как телефоны и ноутбуки, путем обнаружения черных рамок вокруг фотографии. Но есть проблема: уровень яркости каждого изображения всегда разный, и если на них влияют яркие пятна, как на изображении ниже, их невозможно распознать.
Изображение:
Изображение

Вот код :
# Imports:
import numpy as np
import cv2
import matplotlib.pyplot as plt

# Set image path
imagePath = "image.jpg"

# Load image:
inputImage = cv2.imread(imagePath)
# Deep copy of the input:
inputImageCopy = inputImage.copy()

# Resize because the original image is HUGE:
(h, w) = inputImage.shape[:2]
resizePercent = 10
resizedWidth = int(w * resizePercent / 100)
resizedHeight = int(h * resizePercent / 100)

# Resize image
inputImage = cv2.resize(inputImage, (resizedWidth, resizedHeight), interpolation=cv2.INTER_LINEAR)

# Get binary image:
grayImage = cv2.cvtColor(inputImage, cv2.COLOR_BGR2HSV)

lowerValues = np.array([0, 0, 40])
upperValues = np.array([179, 255, 255])

# Create HSV mask:
hsvImage = cv2.cvtColor(inputImage.copy(), cv2.COLOR_BGR2HSV)
tempMask = cv2.inRange(hsvImage, lowerValues, upperValues)

# Apply some morphology:
kernelSize = (3, 3)
morphoKernel = cv2.getStructuringElement(cv2.MORPH_RECT, kernelSize)
tempMask = cv2.morphologyEx(tempMask, cv2.MORPH_CLOSE, morphoKernel, iterations=1)
plt.imshow(tempMask, cmap='gray')


Подробнее здесь: https://stackoverflow.com/questions/790 ... f-an-image

Вернуться в «Python»