Я использую библиотеку openCV в Python.Я прочитал в видео и отметил область интереса в нем.Я преобразовал кадр из BGR в оттенки серого, и в пределах области интереса я беру порог для значения 60. Теперь я хочу сделать следующее: вычислить среднее значение интенсивности в области интереса.Сделайте это для каждого кадра видео.А затем запишите результат в текстовый файл.
Вот моя идея:
ROI_intensity = str(cv2.mean(thresh))
file = open("VelocityAnalysis.txt", "a+")
file.write(ROI_intensity)
file.close()
Это, однако, не дает ожидаемого результата: str(cv2.mean(thresh))
возвращает кортеж с 4 (!) Записями, в то время как я ожидал простоодин.Вероятно, это связано с тремя цветными каналами и некоторым последним параметром, который я не знаю, для чего он существует.Возможное исправление
help = str(cv2.mean(thresh))
ROI_intensity = help[0]
Это мне не нравится.Есть ли лучшее решение?
Другая проблема с этим кодом заключается в том, что я хочу, чтобы каждый результат печатался в отдельной строке.И - это, наверное, самая сложная часть для меня - я хочу провести время рядом со значением интенсивности.Видео было снято с частотой 30 кадров в секунду.Так что я должен иметь возможность узнать время видео каждого кадра.Я мог бы просто создать переменную count и предположить, что с каждым кадром счет увеличивается на 1/30 секунды.Но, опять же, есть ли более изощренное решение?