我是一个长期的精神病用户,我刚刚升级到 1.81.03(从 1.78.x)。在一个实验中,我向用户展示图像(.jpgs)并要求评分量表响应。代码在更新之前运行良好,但现在我在一些图像上得到了奇怪的伪影。例如,这是我要展示的一张图片:
但这里显示的是 [screencapped]:
您可以看到缺少一个边框。我的许多图像都会出现这种情况,尽管它并不总是相同的边框,有时会丢失两个或三个边框。
有没有人知道可能发生的事情?
我从psychopy-users 组(Micahel MacAskill)收到了这些信息:
一般来说,您应该避免将 .jpg 用于线条艺术:它们不是为此而设计的(如果放大,在正方形的内角,您会看到其自然图像优化的典型压缩伪影压缩算法在应用于线条艺术时引入)。.png 格式最适合线条艺术。它是无损的,并且这种图像的文件大小仍然非常小。
显卡有时会先放大然后缩小位图,这可能会导致单像素宽度线出现此类问题。也许这是这里的特别问题,因为(我认为)这张图片应该是 255 × 255 像素,而卡片有时会放大到最接近的 2 次方尺寸(256 × 256)然后再缩小,如此简单看看如何修剪边框。
我从 SO 中抓取了您的图像,它似乎在黑线周围有一个边框,使其总共 321 × 321。我使环绕透明并将其保存为 .png(png 与 jpg 的另一个好处)。它显示没有问题(尽管裁剪为黑线精确尺寸的版本确实显示了您提到的错误)。(此外,压缩伪影仍然存在,因为我只是直接从 jpg 制作了这个 png)。查看附件。
如果这是您展示的那种简单刺激,您可能想要使用 ShapeStim/Polygon 刺激而不是位图。它们将始终被精确绘制,没有任何缩放问题,并且不需要任何跳棋。
为什么这从 1.78 改变我不确定。该问题也存在于 1.82.00