OpenCV, python — есть ли способ обнаруживать облака и солнце одновременно

#python #opencv #computer-vision #detection #opencv-python

#питон #opencv #компьютерное зрение #обнаружение #opencv-python

Вопрос:

Я новичок в python и opencv, поэтому я еще не знаю многих функций, но вот мой вопрос

На этом рисунке вы можете видеть, что мой код может обнаруживать солнце, так как солнце состоит из полностью белых пикселей [0,0,0]. Я просто прошелся по всем пикселям и проверил, какие из них белые, и это сработало довольно хорошо. Есть также немного шума, но это пока не влияет на меня. солнце без облаков Однако, когда солнце полностью или частично покрывается облаками, это результат: солнце покрыто облаками

Поэтому мой вопрос таков: есть ли способ обнаружить и разделить как солнце, так и облака. Я использую цвет пикселей для обнаружения солнца, но это, вероятно, не сработает, если я хочу обнаружить и заставить свою программу различать их.

Вот мой код:

 import cv2 as cv import numpy as np  img = cv.imread('sc2.png') img = cv.resize(img, (900,500), interpolation = cv.INTER_LINEAR) #gray = cv.cvtColor(img, cv.COLOR_RGB2GRAY) height, width, channels = img.shape  bela = [255,255,255] crna = [0,0,0]  for x in range(width):  for y in range(height):  pixels_xy = img[y,x]  if all(pixels_xy == bela):  img[y,x] = crna  cv.imshow('img',img) #cv.imshow('gray',gray) cv.waitKey(0) cv.destroyAllWindows()  

Спасибо вам за все советы!

Комментарии:

1. является ли камера HDR? является ли его {время экспозиции * площадь диафрагмы} постоянным/фиксированным? неизмененные исходные фотографии были бы полезны (в отличие от скриншотов или чего-либо другого, измененного)

2. Мне придется запросить технические характеристики камеры, так как она не моя. Поэтому я использую скриншот видео, чтобы обработать его в opencv, если это поможет.