各种图形 NTSC 过滤器的接口。
项目描述
NTSC-py
ctypes与 Blargg 的NTSC 过滤器库的接口。
| NES NTSC | SNES NTSC | 短信 NTSC |
|---|---|---|
|
|
|
|
安装
的首选安装ntsc-py来自pip:
pip install ntsc-py
Debian
确保已clang++安装编译器:
sudo apt-get install clang
视窗
您需要为 Windows 安装安装 Visual-Studio 17.0 工具。Visual Studio Community 包免费提供这些工具。
用法
Python API
NES NTSC
要使用 NES NTSC 过滤器,首先创建一个实例:
from ntsc_py import NES_NTSC
ntsc = NES_NTSC()
该setup功能可用于配置过滤器的参数。函数的相同参数setup可以在过滤器初始化时传递给构造函数。有关设置功能的每个参数的说明,请参见下表
ntsc.setup(mode='composite', gamma=1, artifacts=2, sharpness=0.4, ...)
| 范围 | 稳定的价值观 | 描述 |
|---|---|---|
mode |
rgb, composite, svideo,monochrome |
将所有参数设置为预设值。 |
hue |
[-1.0, 1.0] | 以度[-180, 180]为单位控制图像的色调。 |
saturation |
[-1.0, 1.0] | 控制从单色到过饱和的饱和度。 |
contrast |
[-1.0, 1.0] | 控制图像中亮度的对比度。 |
brightness |
[-1.0, 1.0] | 控制从暗到亮的亮度。 |
sharpness |
[-1.0, 1.0] | 控制边缘/对比度增强和模糊效果。 |
gamma |
[-1.0, 1.0] | 调整亮度量化器的线性度。 |
resolution |
? | 控制图像的分辨率。 |
artifacts |
? | 控制由颜色变化引起的伪影的影响。 |
fringing |
? | 控制由亮度变化引起的边纹影响。 |
bleed |
? | 控制颜色渗色量(颜色分辨率降低) |
merge_fields |
[0, 1] | 如果为 true,则合并偶数场和场外场以减少闪烁。 |
可以通过使用 64 种唯一颜色的 NES 调色板将图像分配给 NES 像素格式的图像输入缓冲区来过滤图像。
ntsc.nes_pixels[:] = np.random.uniform(0, 63, ntsc.nes_pixels.shape)
或者,可以使用均方误差拟合将 RGB 图像转换为 NES 调色板。
from ntsc_py import rgb2nes, nes2rgb
ntsc.nes_pixels[:] = rgb2nes(np.random.uniform(0, 255, ntsc.nes_pixels.shape[:2] + (3, )))
一旦nes_pixels用新的像素数据更新,调用process过滤图像并计算 RGB 输出ntsc_pixels。
ntsc.filter()
SNES NTSC
快来了!
短信 NTSC
快来了!