Открыть резюме: как работает функция BGR2GRAY? - PullRequest
0 голосов
/ 06 апреля 2020

Кто-нибудь может объяснить математический фон и функцию для преобразования BGR2GRAY?

Под https://docs.opencv.org/3.4/de/d25/imgproc_color_conversions.html Я нашел следующее для RGB в серый:

RGB[A] to Gray:Y←0.299⋅R+0.587⋅G+0.114⋅B

Это то же самое для BGR? Это действительно так просто или за этим стоит более сложный метод:

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

1 Ответ

0 голосов
/ 07 апреля 2020

Поскольку человеческое зрение не воспринимает все цвета одинаково, вклады основных цветов различны Это зависит от длин волн цветов. В следующем документе на странице 7 вы можете найти формулу, а также некоторые другие объяснения: http://poynton.ca/PDFs/ColorFAQ.pdf

BGR использовался для OpenCV с тех пор, как была основана пара компаний, которые использовали BGR вместо RGB. Стандарт в настоящее время RGB. Тем не менее формула для преобразования эквивалентна Y = 0,299 * R + 0,587 * G + 0,114 * B

...