为了我的测试目的,我使用的是Logitech Quickcam 9000,它以4:3的分辨率(640x480,320x240等)进行录制。我正在使用自定义Flash应用程序从网络摄像头转发到Wowza媒体服务器(然后再转发给我们的用户)。
当我在应用程序中录制并以240x180播放时,一切看起来都很棒。当我在应用程序中录制并以480x360(x2尺寸)播放时,一切看起来都很棒。当我在应用程序中录制并以360x270播放时,它看起来很糟糕(像素化/伪像)。
为什么它在240x80和480x360下工作正常但在两者之间没有?这是因为我的摄像头播放了一定的分辨率并且闪光灯没有正确地达到1.5倍的分辨率或是什么?任何反馈都将不胜感激。
答案 0 :(得分:1)
整数缩放因子很好地缩放,因为源中的1个像素=结果中的一组像素。例如,2倍缩放2×2像素网格很简单,如下所示:
12 becomes 1122
34 1122
3344
3344
非整数缩放因子要求播放器插入应该是什么像素,因为(在您的示例中)源中的2个像素长度在结果中变为3个像素长度 - 那么您如何确定该中间像素的值应该是什么?这是一项不完美的任务,根据所使用的算法,通常会导致不太完美的结果。
答案 1 :(得分:1)
听起来像240x180和480 x 360是网络摄像头的“原生”分辨率。当您尝试以除这两者以外的分辨率播放时,播放软件必须执行转换。很明显,转换过程并不理想。
答案 2 :(得分:0)
它取决于采样方法,例如线性与BiCubic 等,加上实际像素不总是真实的平方(有时)它们略高于高。
根据我的经验进行上采样的最佳方法是在目标分辨率上进行上采样,然后在每个阶段使用双三次方法下采样到目标分辨率: