这阵子,确切说这几天,还是看了好多东西的。虽然无用功居多。
上篇日志说的东西做完以后暂时就没事了,然后窝实验室吹着空调做我的小屋。
后来实在觉得无聊找了点事做。
第一天是打算消除视频水印的。其实最土或者说其实最有效的方法是单帧PS,但是,明显我不是这么勤快的人。我学的可不是PS,总觉得这是搞设计之类的人用的。
然后记得上次在xiaotie博客看过程序除水印的,又翻出那篇文章,具体代码没有,只有思路。
虽然他说半透明的水印才可以去,不然修复不了。
但,为了消除那个彻底不透明的水印,我还是试了他的方法。
1.手动做mask图片。想想一个视频也就P一个图还是能承受的,如果不是手动的话这个程序可就麻烦了,何况效果不一定好。我先把视频用opencv播放,放一帧写一张图片,这样可以挑一张纯一点的图片方便抠水印。
2.试验单张图片效果。随便载入一张有那个水印的图片,然后用PS的水印图片做MASK,用inpaint函数。调了几下半径,效果也就一般,可以去掉水印但是那一块地方总有杂色。如果视频本来就不清晰,杂色比较多,或者需要重新打上你自己的水印(这个比较邪恶)那还行。MASK不同出来的效果也不同,我试过精确按文字形状的和直接抹成一条的各种mask。有的出来是一团杂色,有的则是一小块一小块的。
3.其实我没做3,第二步效果好的话其实第三步就是类似于批处理了,就是播放视频,读帧,处理,写帧。然后就木有然后了。
需要注意的是用inpaint函数的时候,应该说用mask的时候,那个mask不是直接用PS涂成黑白就可以的。mask需要单通道8位的图片,试了几次失败以后我就把图