#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, если это поможет.