有没有可以将给定图像(jpg)转换为YUV格式并将其保存为原始数据的工具?
我尝试使用Python PIL,但是找不到执行该操作的方法。
感谢任何想法。
答案 0 :(得分:2)
您可以使用 ImageMagick 来做到这一点,该软件安装在大多数Linux发行版中,并且可用于macOS和Windows。在终端中,您可以运行:
convert input.jpg -depth 8 -colorspace Rec601YCbCr yuv:result.bin
或者对于Rec709YCbCr
,您可以使用:
convert input.jpg -depth 8 -colorspace Rec709YCbCr yuv:result.bin
这是该过程的一个小例子,并且可以逆转它:
# Create a gradient image, magenta-green, save as JPEG
convert -size 1024x768 gradient:magenta-lime input.jpg
# Convert to YUV, saving as raw YUV in "image.bin"
convert input.jpg -depth 8 -colorspace Rec601YCbCr yuv:image.bin
# Convert back from raw YUV back to JPEG to check
convert -size 1024x768 -depth 8 YUV:image.bin -set colorspace Rec601YCbCr -colorspace RGB result.jpg
答案 1 :(得分:0)
使用ffmpeg将jpg转换为yuv
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
}
ffmpeg -i filename.jpg -pixel_format yuv420p -s 656x500 filename.yuv
可以是-pixel_format
或yuv420p
或yuv422p
yuv444p
是jpg的分辨率
查看
-s
如果视频尺寸不正确,则会看到垃圾内容。