Если вы загрузили изображение с помощью OpenCV , image[:,:,0]
будет синим каналом, image[:,:,1]
будет зеленым каналом, а image[:,:,2]
будет красным каналом. Я говорю OpenCV использует BGR
порядок.
Если вы открыли изображение с помощью PIL / Pillow или почти любого другого модуля, image[:,:,0]
будет красным каналом, image[:,:,1]
будет зеленым каналом, а image[:,:,2]
будет синим каналом , Я говорю, что остальной мир использует RGB
порядок.
Теперь, посмотрите на красный карандаш, он будет ярко-белым в красном канале, потому что в нем много красного. Посмотрите на синий карандаш, он будет ярко-белым в синем канале. Посмотрите на зеленый карандаш, он будет ярко-белым в зеленом канале.
При преобразовании в оттенки серого красный, зеленый и синий каналы смешиваются в определенных процентах, а не выбираются исключительно полностью:
grey = 0.30*R + 0.59*G + 0.11*B
Итак, если вы используете cvtColor(...,BGR2GRAY)
, зеленые будут отображаться самыми светлыми (потому что они имеют больший вес), тогда красные и синие будут самыми темными.