桂林网站开发m0773,聊天软件开发公司,校园网站建设用什么软件写,北京网站建设模板下载文章目录1 前言2 方案简述3 效果1 前言
最近做一个短视频相关的项目的时候#xff0c;发现输入的视频有很多是有黑边的#xff0c;有些可能是白边或者其他颜色的边。这对下游的模型处理有很大的影响。于是就写了一个自动判断填充边的颜色#xff0c;并根据该颜色自动切割视…
文章目录1 前言2 方案简述3 效果1 前言
最近做一个短视频相关的项目的时候发现输入的视频有很多是有黑边的有些可能是白边或者其他颜色的边。这对下游的模型处理有很大的影响。于是就写了一个自动判断填充边的颜色并根据该颜色自动切割视频或者图片的小工具。这个真的挺方便的所以就分享出来。
代码可见https://github.com/zjuPeco/color_base_image_crop。
2 方案简述
所有的颜色都是将rgb值映射到hsv空间后再映射到事先总结好的一个颜色表当中。每个hsv对应颜色表中的一个名字。
针对视频的切割 1读取视频的第一帧。 3如果没有指定背景色根据图片的四个角的block取众数推断背景色。block_size可设置。 3获取全图中每个像素点对应的颜色名称得到mask。 4根据mask选择切割点先按宽度方向找再按高度方向找。 5视频所有帧都按该切割点切割。 6将切好的图片输出成指定尺寸。
针对图片的切割 1如果没有指定背景色根据图片的四个角的block取众数推断背景色。block_size可设置。 2获取全图中每个像素点对应的颜色名称得到mask。 3根据mask选择切割点先按宽度方向找再按高度方向找再按宽度方向找。 4将切好的图片输出成指定尺寸。
3 效果
1切割视频并按切割尺寸输出。
python3 codes/crop_video_by_color.py --input_video ./data/1.mp4 --output_video ./results/videos/1.mp4图3-1 按原始尺寸切割2切割视频并按resize后crop的方式输出成指定尺寸
python3 codes/crop_video_by_color.py --input_video ./data/1.mp4 --output_video ./results/videos/1_720x1080.mp4 --output_size 720x1080图3-2 resize后crop到指定的尺寸3切割视频并按resize后pad的方式输出到指定尺寸
python3 codes/crop_video_by_color.py --input_video ./data/1.mp4 --output_video ./results/videos/1_720x1080_pad.mp4 --output_size 720x1080 --pad_mode outside图3-3 resize后pad到指定的尺寸4切割图片按切割尺寸输出
python3 codes/crop_image_by_color.py --input_image ./data/5.jpeg --output_image_dir ./results/images/5/图3-4 切割多张小图