Странные артефакты изображения с камеры PS3 Eye - Фотопедия
1 голос
/ 21 марта 2017

Я использую камеру PS3 Eye (модель 5SLEH-00448) для съемки фотографий с помощью OpenCV (C ++) на Rapsberry Pi. Он работает через драйвер v4l2, который поддерживает только несжатый режим захвата YUYV. Я сохраняю изображения в формате PNG. Мне нужно несжатое изображение с наилучшим возможным качеством.

Образец изображения с разрешением 320x240 (с пониженной дискретизацией камерой или драйвером) - странные артефакты изображения можно увидеть по диагональным краям на фотографиях - при увеличении изображения на верхнем краю ЖК-экрана появляется зигзагообразный артефакт, который выглядит как "лестница":

Strange image artefacts from PS3 Eye camera

Родная камера 640x480 выглядит вполне прилично (я не вижу там много артефактов):

enter image description here

Вот режим захвата:

 $ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
    Index       : 0
    Type        : Video Capture
    Pixel Format: 'YUYV'
    Name        : YUYV

Кто-нибудь знает, что происходит? Похоже, нативное изображение выглядит довольно хорошо, и артефакты происходят из алгоритма понижающей дискретизации в драйвере, вероятно?

1 Ответ

4 голосов
/ 22 марта 2017

В формате YUYV канал яркости (Y), который управляет яркостью пикселей, имеет более высокое разрешение, чем каналы цветности (U и V), которые управляют оттенком. Каждый пиксель имеет свою собственную информацию о яркости, но два следующих пикселя имеют значение оттенка.

Ваше маленькое изображение выглядит так, как будто алгоритм понижающей дискретизации работал независимо на Y и на УФ каналах, игнорируя, что разные оттенки имеют различную воспринимаемую яркость. Это приведет к возникновению таких артефактов на вертикальных или диагональных краях, если не только яркость, но и изменение оттенка от одной стороны края к другой. Как видите, край между книжной полкой и стеной над монитором не так сильно подвержен влиянию, поскольку обе стороны имеют одинаковый оттенок.

Я не знаком с программным обеспечением, которое вы используете, и не могу дать вам готового решения, но если алгоритм понижающей дискретизации YUYV настолько сломан, возможно, вы можете преобразовать входное изображение в RGB перед понижением, а затем продолжить работу с данными RGB или преобразовать обратно в YUYV, если вам по какой-то причине требуется изображение с пониженной частотой дискретизации в формате YUYV?

Добро пожаловать на сайт Фотопедия, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...