脚本积累
此博客用来存放、并简单介绍相关数据处理等脚本。
视频抽帧
video2images.py:以一定间隔从视频内提取帧;
在第6行修改视频格式
1
if input_path.endswith('.MP4'):
在第19行修改图片大小(尽量保持原比例缩放)
1
frame_n = cv2.resize(frame, (1920, 1080)) # (W,H)
第28、29、30分别为视频输入路径、图片储存文件夹、间隔帧数
1
2
3input_path = "/path/to/your/video" # 视频输入路径
save_path = "/path/to/your/image/" # 提取图片输出路径
frame_interval = 10 # 抽帧间隔数
图片批量重命名
rename.py:将文件夹家内以一定顺序重命名;
第4、5、6行分别为原始图片文件夹、重命名后文件夹、重命名后第一个图片序号
1
2
3path = '/path/to/your/image/' # 文件夹路径
out_path = '/path/to/your/new/image/' # 新文件夹路径
start = 0 # 重命名后第一个图片序号第9行为命名原则
1
name = "%05d" % start #5位数 不足前面补零
依据mask图像分割
extract.py:这里给出的是依据 MiVOS-STCN 算法分割给出的(红色)mask进行图像分割,输出白色mask、分割后的图片;需要保持mask与原始图片名字一致!
只需修改第21—24行相关路径即可
1
2
3
4original_path = '/path/to/ori/image/' # 原始图片路径
ori_mask_path = '/path/to/ori/mask/' # 原始红色mask路径
images_path = '/path/to/new/image/' # 分割后图片路径
masks_path = '/path/to/new/image/' # 修改颜色后mask路径
调整图像分辨率
lowresolution.py:降低图像分辨率
修改5、6行路径
1
2sourceDir = os.path.join(curDir, '/path/to/ori/image/')
resultDir = os.path.join(curDir, '/path/to/new/image/')第13行修改到指定分辨率(尽量保持原始比例)
1
pic_n = cv2.resize(pic, (960, 540)) # (W,H)
修改图片通道数
rgb2rgba.py:有些项目需要RGB
通道,有些则需要RGBA
通道
修改4、5行路径
1
2path = "/path/to/ori/image/" # 原始路径
save_path = '/path/to/new/image/' # 保存路径第13行可以修改转换后通道数
1
pimg = img.convert("RGB") # 4通道转化为rgb三通道
提取colmap匹配的有效图片
valid_imgs_from_imgstxt.py:colmap获取位姿可能因为某些原因造成部分图片无法匹配,这对有些项目影响很大!造成代码一些数组序号出问题、甚至可能无法运行,这里建议提取有效图片
修改第25—27行相关路径即可
1
2
3file_name = "/path/to/colmap/text/images.txt" # images.txt 文件
input_path = "/path/to/ori/image/" # 原始图片路径
output_path = "/path/to/valid/image/" # 提取后有效图片路径
图像转GIF
image2gif.py:将一定顺序的图片序列转换为GIF动图
修改13—15行相关路径
1
2
3img_dir = '/path/to/image' # 图片路径
duration = 0.05 # 图片间隔,每秒20帧,即1/20
gif_name = img_dir+'.gif' # 输出gif名字
图像转视频
image2video.py:将一定顺序的图片序列转换为视频
修改16行帧率、17行视频存储路径及名字
1
2fps = 30
file_path = r"/pathto/video/name.mp4"第30行图片路径及分辨率
1
picvideo(r'/path/to/image/', (1920, 1080)) # (W,H)
相机位姿添加噪声
add_noise_in_txt.py:直接给colamp跑出的 image.txt
添加高斯噪声
修改第9、10行噪声方差
1
2sigma_r = 5.0 # 旋转矩阵的噪声方差
sigma_t = 0.1 # 位移向量的噪声方差修改第49、50行相关路径
1
2file_name = "/path/to/colmap/text/images.txt" # 原始colmap的image.tx
output_name = "/path/to/new/images.txt" # 添加噪声后的image.txt路径
add_noise_in_json.py:给 tansform.json
添加高斯噪声
修改第41、42行噪声方差
1
2sigma_r = 5.0 # 旋转矩阵的噪声方差
sigma_t = 0.1 # 位移向量的噪声方差修改第98、99行相关路径
1
2file_name = "/path/to/transform.json" # 原始位姿
output_name = "/path/to/new/transform.json" # 添加噪声后