![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
常用工具
不会飞的鹰08
不搞空中楼阁,只做落地项目
展开
-
std::Vector -> eigen::vectorXd转换为
std::Vector -> eigen::vectorXdhttps://stackoverflow.com/questions/52261389/how-to-convert-an-stdvector-to-a-matrix-in-eigenstd::vector vec = { 1.0, 2.0, 3.0 };Eigen::MatrixXf test = Eigen::Map(vec.data());std::cout原创 2023-05-22 11:23:30 · 596 阅读 · 0 评论 -
【JSON_CPP】的一次使用体验
https://github.com/open-source-parsers/jsoncpp序列化导出时,1.9.4 版本输出带“\t”,Json::StreamWriterBuilder 是新版本的接口加入下列代码使用老版本老版本输出不带“\t”,这才是序列化后的无格式输出的字符串,老版本接口:准备弃坑,不使用这个库了,越更新反而用的越难受,,,...原创 2022-06-22 09:49:25 · 431 阅读 · 0 评论 -
[c++多线程]模拟队列输送消息
线程安全队列#pragma once//->from https://blog.csdn.net/what951006/article/details/77916490#include <iostream>#include <string>#include <condition_variable>#include <mutex>#include <queue>#include <memory>using name原创 2021-10-29 10:24:35 · 221 阅读 · 0 评论 -
[c++] 使用count_if统计满足一定条件的元素个数
找出容器中大于3的元素的个数std::vector<int> a = { 1, 2, 3, 4 ,5,6,7};int sum_win_y = std::count_if(a.begin(), a.end(), [&](int n) {return n > 3; });std::cout << sum_win_y << std::endl;输出为 4原创 2021-10-27 15:48:12 · 831 阅读 · 0 评论 -
[opencv] win10使用c++ opencv合成视频
opencv 410,debug模式方式1:VideoWriter output_video_writer(video_path_save, CAP_OPENCV_MJPEG,output_video_fps,video_sz);//或者下面VideoWriter output_video_writer;output_video_writer.open(video_path_save, CAP_OPENCV_MJPEG, output_video_fps, video_sz);报错信息:Op原创 2021-10-26 08:53:24 · 694 阅读 · 0 评论 -
【c++】win10使用vs2019编译jsoncpp-1.9.4
c++ 解析jsonhttps://github.com/open-source-parsers/jsoncpp下载release版本,源码编译这里下载的是解压后新建build文件夹,用cmake进行编译,选择x64,vs2017,用vs2017分别编译release和debug版本,注意区分x64和32,release和debug版本编译后的目录结构接下来挑选编译好的lib,dll和相应的头文件,此处以debug为例,自己配置相应的lib和include的目录\jsoncpp-1.9.原创 2021-10-22 14:42:07 · 1182 阅读 · 0 评论 -
【opencv】遍历多通道图像的方法
这里介绍两种通过行的首地址进行访问 for (int row = 0; row < ori_img.rows; ++row) { cv::Vec3b* ptr = ori_img.ptr<cv::Vec3b>(row); for (int col = 0; col < ori_img.cols; col++) { ptr[col] = cv::Vec3b(0,1,2); // 对行列的同一位置的多通原创 2021-09-30 10:04:27 · 312 阅读 · 0 评论 -
[vs2019]debug时行号错乱
解决办法:工具->选项,取消框中勾选,重新编译原创 2021-09-26 09:20:52 · 698 阅读 · 0 评论 -
【bat】批量重命名
@echo offset a=0setlocal EnableDelayedExpansionfor %%n in (*.mp4) do (set /A a+=1ren "%%n" "youtube_!a!.mp4")原创 2021-09-24 20:30:26 · 1746 阅读 · 0 评论 -
libtorch 配置 vs2017 过程记录,完美运行,不用cmake
预备条件:win10安装好vs2017,配置好opencv,cuda10.2 下载libtorch, win10,libtorch,cuda10.2,debug版本,本次下载libtorch1.6版本,该版本要低于或等于pytorch的版本 https://pytorch.org/将https://download.pytorch.org/libtorch/cu102/libtorch-win-shared-with-deps-1.7.1.zip ->https://download...原创 2021-02-19 17:55:32 · 279 阅读 · 0 评论 -
CIOU loss Python代码实现(可直接运行)
源代码c语言实现:https://github.com/Zzh-tju/DIoU-darknet/blob/fcfa869f35169da38b1c6595b6ca124433e04b20/src/box.closs的介绍:https://zhuanlan.zhihu.com/p/94799295import torchimport mathimport numpy as npimport matplotlib.patches as mpathesimport matplotlib.py.原创 2021-01-29 18:50:06 · 1316 阅读 · 3 评论 -
python多进程(模拟两个以上深度学习模型推理同一个视频)
深度学习中,如果做用两个以上模型推理的时候,若采用模型1+模型2的串联方式,则模型的总耗时会约等于两个模型耗时的累加,如果采用多线程处理,模型的推理耗时约等于max(model1_time_cost,model2_time_cost)下面是用多进程而不是多线程的方式模拟多线程读取视频,并用两个模型做结果融合,结构图实现代码如下,不做过多注释,直接运行即可,运行逻辑如上图所示,各个进程共享val_queue,如果导入的是import Queue,则数据无法在进程间进行共享要采用 mult.原创 2021-01-27 15:40:48 · 1971 阅读 · 1 评论 -
cv2.warpAffine详解:用来做图的crop操作
import cv2import numpy as npimg_path = '/home/cody/Pictures/zdy.jpg'image = cv2.imread(img_path)image = cv2.resize(image,None,fx=0.5,fy=0.5)mapping = np.array([[1, 0, 0], [0, 1, 0]]).astype(np.float)# mapping = np.array([x_scale.原创 2021-01-22 18:19:09 · 2478 阅读 · 0 评论 -
vs2017 配置libtorch 1.7
下载pytorch c++ 版本,https://pytorch.org/vs选择2017,编译器选择c++14下载好的libtorch解压设置包含目录设置lib目录添加libasmjit.libc10.libc10d.libcaffe2_detectron_ops.libcaffe2_module_test_dynamic.libclog.libcpuinfo.libdnnl.libfbgemm.libgloo.liblibprotobuf-lit原创 2020-11-19 15:12:16 · 1712 阅读 · 2 评论 -
Docker基本操作
视频地址:https://www.bilibili.com/video/BV12W411q7wf?p=9基本操作启动容器 docker run IMAGE[COMMAND][ARG] docker run ubuntu echo "helloword" ,执行完容器关闭 docker run -i -t IMAGE /bin/bash,交互式执行docker 查看容器 docker ps [-a][-l] ,#-a 列出所有 docker ps ,列出当前运行的容器 do.原创 2020-11-07 15:33:45 · 138 阅读 · 0 评论 -
github如何使用
创建本地仓库新建本地文件夹,作为本地仓库安装好git,在仓库位置 ,git bash here,打开终端查看版本 【git --verison】 清屏操作 【clear】配置用户名【git config --global user.name "cody"】 【git config -- user.email "abc@qq.com"】初始化操作仓库本地初始化【git init】,本地出现隐藏文件夹.git 通过【ll -la】查看内容添加文件手动创建文件 a.txt 将.原创 2020-11-07 15:11:46 · 230 阅读 · 0 评论 -
解决报错 OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized
报错信息:OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized(py38) D:\Pycharm\Yolov5_DeepSort_Pytorch>python track.pyNamespace(agnostic_nms=False, augment=False, classes=[0], conf_thres=0.4, config_deepsort='deep_s.原创 2020-10-01 14:52:21 · 38471 阅读 · 54 评论 -
pytorch GPU 多卡注意事项
batchsize的问题parser.add_argument('--batch_size', help='the size of reading data size', default=64, type=int) #batch_size =单卡的batch_size*卡的个数,这里的batchSIze指的是总的batchSize,如果单卡设置的是10,多卡的时候batchsize依然是10,结果才相近 parser.add_argument('--num_workers', help='the nu原创 2020-09-28 20:05:29 · 555 阅读 · 0 评论 -
python3 Crypto.Cipher报错解决办法
python3 Crypto.Cipher报错解决办法1、先导入所需要的包,当运行程序时可能报错没有被运行的模块Crypto,需要把python3安装目录Lib和Lib/site-packges下的crypto改成Cryptopip3 install crypto2、再安装pycryptopip3 install pycrypto...原创 2020-09-28 09:09:12 · 3415 阅读 · 0 评论 -
pycharm创建图标(Ubuntu)
创建快捷方式:1:选择菜单Tools /Create Desktop Entry... ,设置任务栏启动图标2.设置图标时需要勾选Create the entry for all users2、之后需要再次退出PyCharm,再通过终端命令,$sh ./pycharm.sh,启动3、再次重复1中操作,选择Tools /Create Desktop Entry...,并勾选Create the entry for all users,设置成功后,右下角会出现提示4、之后就可以通过收原创 2020-09-27 19:29:45 · 954 阅读 · 0 评论 -
opencv vs2013中安装
opencv.orghttps://opencv.org/opencv releasehttps://opencv.org/releases/ 下载windows版本opencv安装教程https://www.bilibili.com/video/BV1zE411W7Fn?from=search&seid=11054074909918192235解压后,配置环境变量和pathhttps://www.cnblogs.com/mtn007/p/12023277..原创 2020-09-25 16:02:08 · 148 阅读 · 0 评论 -
opencv_cuda lib
opencv cuda 配置 vs2015 相关依赖库C:\Users\admin\AppData\Local\conda\conda\envs\trt\python.exe D:/pycharmpro/pytorch_openpose_body_25/outputlib.pyopencv_aruco410.libopencv_bgsegm410.libopencv_bioinspired410.libopencv_calib3d410.libopencv_ccalib410.libope原创 2020-09-24 15:26:38 · 290 阅读 · 0 评论 -
[python]将上万个视频随机抽帧存到一个文件夹下面
对文件夹及子文件夹下面的视频文件,读取后随机抽帧,抽帧比例0.05,存成jpg保存#!/usr/bin/env python3# coding: utf-8import osimport shutilimport cv2 as cvfrom tqdm import tqdmimport globimport numpy as npdef get_filelist(dir, Filelist): newDir = dir if os.path.isfile(dir).原创 2020-09-21 14:11:48 · 275 阅读 · 2 评论 -
显卡温度过高导致电脑重启的几个可能性
用Pytorch框架训练OpenPose模型时,将batchSize设置为1,最后模型迭代几个epoch导致电脑自动重启,结合以往经历,大致有以下几种可能性,梳理如下内存泄漏,自己的程序随着运行时间,内存或者cpu占用率会越来越高 CPU运行温度过高,电脑自保机制,导致关机,实际观察笔记本跑的时候cpu(i7_9500,12核)温度95度,台式机cpu(i7_8700,16核)温度65,两个占用率均在70-80%,均属正常,温度过高,可以更换硅脂,尝试降温 显卡温度过高,显存占用率3%,但随着迭代次原创 2020-09-20 13:45:11 · 5746 阅读 · 0 评论 -
pytorch如何加载部分模型参数
使用openpose pytorch版本查看中间热力图结果,需要加载部分参数,过程如下1.把模型的结构加载进来pretrained_dict = torch.load(model_body25)model = bodypose_25_model()2.通过字典形式,加载网络中的部分参数model_dict = model.state_dict()pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in..原创 2020-09-11 10:44:17 · 4720 阅读 · 0 评论 -
python 将图片合成视频
fourcc = cv2.VideoWriter_fourcc('D', 'I', 'V', 'X') 对应格式 mp4其他编码格式CV_FOURCC('P','I','M','1') = MPEG-1 codecCV_FOURCC('M','J','P','G') = motion-jpeg codecCV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codecCV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec..原创 2020-09-10 19:39:15 · 1220 阅读 · 0 评论 -
github下载慢或无法下载的解决办法
登录https://www.ipaddress.com/输入 :github.com 得到140.82.114.3输入:github.global.ssl.fastly.net 得到 199.232.69.194打开路径 C:\Windows\System32\drivers\etc 下的host文件,末尾追加140.82.114.3 github.com199.232.69.194 github.global.ssl.fastly.netwin+R打开cmd,输入 ipc...原创 2020-09-10 19:31:30 · 1504 阅读 · 0 评论