使用Python

时间:2018-10-08 13:05:45

标签: python opencv image-processing

我想从10位视频中捕获一帧。我尝试了一些解决方案,例如OpenCV,但似乎会在保存的图像的暗区中造成强烈的条纹,而FFMPEG的质量却不如OpenCV,并且在保存图像时似乎无法正确处理YUV色彩空间(黑色区域会丢失很多细节,并且图片整体更亮)。

我现在不考虑帧精度,我最关心的是正确处理颜色。

我想尝试VapourSynth,但是我无法在Ubuntu上正常运行(启用imwrt插件时编译失败)。

对于该问题,我还可以尝试其他解决方案吗?

我能想到的一件事是用OpenCV抖动黑暗区域以消除条纹,但是老实说我不知道​​该怎么做,当我尝试一些已经制作好的算法(例如this one)时,但它根本不起作用,被卡在set_pixel函数之一中。

编辑:ffmpeg,OpenCV和mpv 8位屏幕截图之间的区别: https://diff.pics/zugzxgSvGI3D

看起来像OpenCV在将10位图像转换为8位图像时遇到麻烦,导致强分离,但是在黑暗区域中有更多细节。用MPV拍摄的8位屏幕截图可能看起来最好,这就是我的目标。在这种情况下,OpenCV一个唯一的问题就是强大的绑定。

0 个答案:

没有答案