Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5525

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5525

Рейтинг: 1003

Вот это была картинка, который я через cv2 с вебки получил и конвертнул в HSV

ret, frame = capture.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
cv2.imshow('hsv', hsv)

image.png

Такое выводит обычный цвет: 

cv2.imshow('bgr', frame)

Почему? Я час сидел читал про HSV, и это же вроде просто другая форма представления цвета. Почему она картинку исказила? Может быть это связано с тем, что я там делаю преобразование BGR в HSV, а с камеры идёт RGB. т.е. в обратном порядке? Или как? Или что? Я не понимаю. Это я делаю что-то не так или HSV такой кривой что не может конвертнутсся из BGR или отобразится на мониторе после конфертации?
 

Jserax

Пользователь

Регистрация: 04.10.2016

Сообщения: 1622

Рейтинг: 23177

Jserax

Регистрация: 04.10.2016

Сообщения: 1622

Рейтинг: 23177

Kujivunia сказал(а):

Вот это была картинка, который я через cv2 с вебки получил и конвертнул в HSV

ret, frame = capture.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
cv2.imshow('hsv', hsv)

image.png

Такое выводит обычный цвет: 

cv2.imshow('bgr', frame)

Почему? Я час сидел читал про HSV, и это же вроде просто другая форма представления цвета. Почему она картинку исказила? Может быть это связано с тем, что я там делаю преобразование BGR в HSV, а с камеры идёт RGB. т.е. в обратном порядке? Или как? Или что? Я не понимаю. Это я делаю что-то не так или HSV такой кривой что не может конвертнутсся из BGR или отобразится на мониторе после конфертации?
Нажмите, чтобы раскрыть...

Opencv в бгр формате при чтении работает, а hsv, вроде, и не должен выглядеть как в ргб

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5525

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5525

Рейтинг: 1003

Jserax сказал(а):

Opencv в бгр формате при чтении работает, а hsv, вроде, и не должен выглядеть как в ргб

Нажмите, чтобы раскрыть...

А почему? Я воспринимаю это как разные языки, типа 

BGR = дверь

HSV = door

Но оба слова указывают на одну вещь, которая выглядит одинаково. 

Разве это не так? Например я в графическом редакторе могу выбирать цвет и из РГБ палитры, и из ХСВ, и оба цвета выглядят одинаково, и могут находится на одном холсте... 

Jserax

Пользователь

Регистрация: 04.10.2016

Сообщения: 1622

Рейтинг: 23177

Jserax

Регистрация: 04.10.2016

Сообщения: 1622

Рейтинг: 23177

Kujivunia сказал(а):

А почему? Я воспринимаю это как разные языки, типа 

BGR = дверь

HSV = door

Но оба слова указывают на одну вещь, которая выглядит одинаково. 

Разве это не так? Например я в графическом редакторе могу выбирать цвет и из РГБ палитры, и из ХСВ, и оба цвета выглядят одинаково, и могут находится на одном холсте... 

Нажмите, чтобы раскрыть...

Imshow читает твои значения hsv матрицы как bgr, а выводить напрямую hsv, наверное, из-за особенности железа нельзя 

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5525

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5525

Рейтинг: 1003

Jserax сказал(а):

Imshow читает твои значения hsv матрицы как bgr, а выводить напрямую hsv, наверное, из-за особенности железа нельзя 

Нажмите, чтобы раскрыть...

Понимаю!