Python – 运算符/ or // or %的含义和区别
1 python运算符/ or // or %的含义和区别 / : 表示普通除法,返回两者除法的商 // : 返回商的整数部分,向下取整 % : 返回除法的余数,取模 例子: # -*- coding: UTF-8 –*- if __name__ == '__main__': a = 10 b = …
- Python
- 2021-03-22
Python – 使用Opencv-Python库获取本机摄像头视频并保存为视频文件
1 Opencv-Python获取本机摄像头视频 1.1 视频捕获 为了捕获本机摄像头的视频,需要创建一个VideoCapture对象,如果需要处理视频文件,则在构造对象时传入视频文件路径,如果需要捕获摄像头视频,则需要传入本机摄像头设备索引,如果电脑上只有一个摄像头,那么一般传入0,如果有多个摄像…
- Python
- 2021-03-18
Python – 类对象/列表/元祖/字典判空的方法
在Python中,空列表,空元祖和空字典,以及未初始化的类对象都被Python判断为False,所以可以通过if not的方式判断这些对象是否为空。 1 Python类对象判空 # -*- coding: UTF-8 –*- class BasicObject: m_Value = 0 def __…
- Python
- 2021-03-12
Python – 使用ffmepg批量转换某个文件夹以及所有子文件夹下所有的视频,修改其帧率/码率/分辨率到另一文件夹,并保留原有文件夹结构
1 环境要求 需要在电脑上安装ffmpeg并配置好相应的系统环境变量。 2 使用python调用ffmpeg命令 最近在工作中需要将一个文件夹以及其所有子文件夹下所有的视频都修改其码率和分辨率,并保持原有的目录结构,并显示转换进度,这种东西用python来写再合适不过了。 可以参考以下代码: # -…
- FFmpeg
- 2021-03-10
C++11 – 使用std::thread::join()/std::thread::detach()方法需要注意的点
1 调用std::thread::join()方法等待线程退出时的示例问题程序 #include <iostream> #include "conio.h" #include <memory> #include <thread> #include <atom…
- C++
- 2021-02-26
Duilib – 程序开机自启动
1 Windows程序开机自启动的原理 windows系统在开机的时候会主动从注册表处HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run读取该路径下所有的键值对并启动相关软件,所以我们如果要设置某个程序开机自启动就只需要在注…
- Duilib
- 2021-02-20
Duilib – duilib应用程序实现文件可拖拽的功能
在成熟的应用程序中,我们常常可以拖拽一个文件放到应用程序上即可实现在该应用程序中打开该文件的功能,比如说把一个图片拖拽到一个看图软件上即可在该软件上打开该文件。下面的文章描述了通过调用win32接口以及win32内置的消息机制即可实现文件拖拽功能。 1 必要的头文件 在duilib主窗口的头文件中包…
- Duilib
- 2021-02-09
Duilib – 点击程序关闭按钮最小化到托盘,点击托盘按钮恢复
1 功能描述 点击程序关闭按钮,程序最小化到托盘中并显示托盘图标; 单击图标,使窗口正常显示,右键图标显示菜单,点击程序关闭按钮退出程序。 2 实现 2.1 最小化到托盘功能实现 2.1.1 变量声明与函数声明 //定义托盘图标对象 NOTIFYICONDATA m_trayIcon; //添加托盘…
- Duilib
- 2021-02-09
C++11 – std::chrono – 使用std::chrono::duration_cast进行时间转换,hours/minutes/seconds/milliseconds/microseconds相互转换,以及自定义duration进行转换
1 小时转换为分钟/秒/毫秒/微秒 #include <iostream> #include <string> #include <chrono> int main() { std::chrono::hours hour_time = std::chrono::h…
- C++
- 2021-02-05
C++11 – 使用std::chrono计算程序、函数运行时间
1 使用std::chrono计算程序运行时间 参考代码如下: #include <iostream> #include <string> #include <chrono> void Run() { for (int i = 0; i < 10000000…
- C++
- 2021-02-05
FFmpeg – 将某个文件夹下的图片按标号顺序合成为指定编码格式和指定帧率的视频
1 FFmpeg图片合成视频命令解析 命令格式 ffmpeg -f image2 -i 图片所存放路径和图片命名格式 -vcodec 指定视频编码格式 -r 视频帧率 输出文件路径和文件名 命令示例 ffmpeg -f image2 -i ./image%d.png -vcodec libx264 …
- FFmpeg
- 2021-02-03
C++ – 线程安全的std::cout
1 线程安全的std::cout 最近在多个子线程中使用std::cout输出日志信息发现std::cout不是线程安全的,无法保持线程同步,导致日志信息无法按照固定顺序输出,现象如下: 所以对std::cout做了一个封装以保证多线程之间的同步,代码如下: #include <iostrea…
- C++
- 2021-02-01