经常用到的代码段

2024-06-01 19:28
文章标签 用到 经常 代码段

本文主要是介绍经常用到的代码段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

opencv

opencv-图像部分

opencv显示图像

cv2.namedWindow("just for test", 0)
cv2.imshow("just for test", index_img)
cv2.waitKey(0)

Opencv转PIL.Image

Image.fromarray(cv2.cvtColor(cv_img,cv2.COLOR_BGR2RGB))
PIL.Image转Opencv
cv2.cvtColor(numpy.asarray(Img_img),cv2.COLOR_RGB2BGR)
opencv-视频部分
opencv读取视频
import cv2video_stream = cv2.VideoCapture(video_path)

读取视频的相关信息

帧率

fps = int(round(cap.get(cv2.CAP_PROP_FPS)))

分辨率-宽度

width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))

分辨率-高度

height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

总帧数

frame_counter = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))video_frames = []
while True:still_reading, frame = video_stream.read()if not still_reading:video_stream.release()breakvideo_frames.append(frame)opencv将图片写成视频
import cv2fourcc = cv2.VideoWriter_fourcc(*'mp4v')
videowriter = cv2.VideoWriter(args.video_save_path, fourcc, 25, size)
for mask_name in sorted(os.listdir(args.image_mask_folder)):mask_path = os.path.join(args.image_mask_folder, mask_name)mask = cv2.imread(mask_path)mask[mask != (0, 0, 0)] = 255mask[mask == (0, 0, 0)] = 0videowriter.write(mask)
videowriter.release()
时间time模块
输出格式化的时间
import timecur_time = time.strftime("%Y%m%d%H%M", time.localtime())
python运行程序模块
指定程序运行的根目录
export PYTHONPATH=./
subprocess执行的代码模块
video_process_cmd = ['ffmpeg','-i', input_path,'-vcodec', 'libx264',  # TODO'-b:v', str(modify_bitrate),  # 设置视频的码率'-bufsize', str(modify_bitrate),  # 设置缓冲区大小'-maxrate', str(modify_bitrate),  # 限制最大码率,确保不会超过2Mbps'-c:a', 'copy',output_path, "-y"
]
subprocess.run(video_process_cmd)

这篇关于经常用到的代码段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1021902

相关文章

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

Java 为什么需要用到代理

为什么? 在平时我们写java代码的时候,是不是一个类都是只处理自己相关的业务,不会去处理多余的代码。每个类都尽量做到独立,这样才能做到高内聚低耦合,为了以后的代码维护和扩展。 那么问题来了,如果哪天我们需要在类里加上权限,日志等功能时,我们是不是需要修改每个类。这样不仅工作量巨大,严重影响代码质量。这时我们需要一个代理,让我们可以在不 改动原有代码的前提下,实现一些其他功能,即增强。我们在进入

网页中经常见到的,点击菜单栏,跳转到执行元素的位置

* 点击滑动制定位置* @param scrolldom 点击的制定元素* @param scrollTime 滑动的时间*/$.scrollto = function (scrolldom,scrollTime) {//dom点击事件$(scrolldom).click(function () {//查找点击dom里的属性,要在dom元素里添加var scrolldom = $(t

最近刚接触用到的一些linux命令(CentOS7的命令)二〇一八年十月三十日

linux  查看本地     ip  ip addr  查看本地系统     #cat /etc/issue 在CentOS下执行显示为: CentOS release 5.7 (Final) Kernel \r on an \m 或在Ubuntu下显示为: Ubuntu 11.04 \n \l 可以用来查看当前正在运行的 Ubuntu 的版本号。  查看系统内核     uname -a

hadoop,spark,yarn,jobhistory等用到的一些WEB界面

http://192.168.244.100:19888  日志聚合的界面jobhistory,可以看到每个job的分配情况,maptask的分配到哪个节点,及完成情况需要在hadoop的sbin下执行如下命令 mr-jobhistory-daemon.sh start historyserver http://192.168.244.100:50070 hadoop的web界面 http:

剪辑视频也内卷?2024年这4款工具,好用到让人怀疑人生!

现在这个网络时代,视频已经成为我们生活的一部分了。不管是学习新东西、工作汇报,还是看娱乐节目,视频都因为它直观、生动的特点,特别受欢迎。不过,对于刚开始学做视频的新手,或者已经有点经验的视频制作者来说,剪辑视频经常是个费时又费力的活,有时候甚至能把人逼得快疯了。别担心,今天我就来给你推荐几个超好用的视频剪辑软件,让你剪辑视频的时候能轻松愉快。 1. 福昕快剪辑 即时通道 \https://ww

HTTP协议中的短轮询、长轮询、长连接和短连接 序言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太

HTTP协议中的短轮询、长轮询、长连接和短连接 序言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短。 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解。如果你之前不懂的话,可以帮你

济南 软著申请需要用到的材料有社什么

所需材料 软件著作权登记申请表:详细填写并签字盖章。软件源程序代码:前、后各连续30页,共60页(不足60页全部提交),每页不少于50行(结果页除外)。软件用户手册或操作手册:前、后各连续30页,共60页(不足60页全部提交),每页不少于30行(结果页除外)。身份证明:著作权人为个人的,需提交身份证复印件;著作权人为单位的,需提交营业执照副本复印件等。其他材料:如合作开发合同、委托开发协议书等。

vue2中用到了 vuex 实现一个 留言板效果

一.效果图展示: 二.静态网页(html)代码 <template><div><h1>班级留言板</h1><ol><li v-for="(msg, index) in classmsgs" :key="index">{{ msg }} <a href="#" @click.prevent="delmsg(index)">删除</a></li></ol><textarea name=""

今天项目用到了字符串处理,简单整理下几个常用

取字符串的前i个字符 str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);去掉字符串的前i个字符: str=str.Remove(0,i); // or str=str.Substring(i); 3从右边开始取i个字符: str=str.Substring(str.Length-i); // or str=str.Rem