проблема рендеринга изображения в психопсии

Я давний пользователь психопи, и я только что обновился до 1.81.03 (с 1.78.x). В одном эксперименте я показывал пользователю изображения (.jpg) и запрашивал ответ по шкале оценки. Код работал нормально до обновления, но теперь я получаю странные артефакты на некоторых изображениях. Например, вот одно изображение, которое я хочу показать:

фактическое изображение

Но вот что появляется [скриншот]: показанное изображение

Вы можете видеть, что одна граница отсутствует. Это происходит со многими моими изображениями, хотя это не всегда одна и та же граница, а иногда отсутствуют две или три границы.

У кого-нибудь есть идеи о том, что может происходить?


person Nolan Conaway    schedule 11.02.2015    source источник


Ответы (1)


Я получил эту информацию от группы psychopy-users (Майкл Макаскилл):

  1. Как правило, вам следует избегать использования .jpg для штриховой графики: они не предназначены для этого (если вы увеличите масштаб во внутренних углах вашего квадрата, вы увидите типичные артефакты сжатия, которые их естественное оптимизированное изображение алгоритм сжатия вводится применительно к штриховой графике). Формат .png оптимален для штриховой графики. Это без потерь, и для такого типа изображения все равно будет очень маленький размер файла.

  2. Видеокарты иногда увеличивают, а затем уменьшают растровые изображения, что может привести к подобным проблемам с линиями шириной в один пиксель. Возможно, это особенно проблема здесь, потому что (я думаю) это изображение должно было быть 255 × 255 пикселей, а карты иногда масштабируются до ближайшего размера степени двойки (256 × 256), а затем снова уменьшаются, так легко чтобы увидеть, как граница может быть обрезана.

  3. Я взял ваше изображение с ТАК, у него, казалось, была окантовка вокруг черной линии, чтобы сделать его в сумме 321 × 321. Я сделал это окружение прозрачным и сохранил его как .png (еще одно преимущество png по сравнению с jpg). Он отображается без проблем (хотя версия, обрезанная только до точных размеров черной линии, показала упомянутую вами ошибку). (Кроме того, артефакты сжатия все еще присутствуют, так как я только что сделал этот png прямо из jpg). Смотрите прикрепленный файл.

  4. Если вы показываете такой простой стимул, вы можете использовать стимулы ShapeStim/Polygon вместо растровых изображений. Они всегда будут нарисованы точно, без каких-либо проблем с масштабированием, и не будет необходимости в какой-либо покерной ерунде.

  5. Почему это изменилось с 1.78, я не уверен. Проблема также есть в 1.82.00

person Nolan Conaway    schedule 12.02.2015