自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不积跬步无以至千里

博客中涉及到的代码请移步我的Github主页下载 https://github.com/ZhangZhiHao233/

  • 博客(190)
  • 资源 (5)
  • 问答 (7)
  • 收藏
  • 关注

原创 在Jetson tx2安装 mmdetection环境

装了好几天,终于装成功了。环境:1 tx2系统参数:查看命令head -n 1 /etc/nv_tegra_releaseR32 (release), REVISION: 1.0, GCID: 14531094, BOARD: t186ref, EABI: aarch64, DATE: Wed Mar 13 07:41:08 UTC 20192 CUDA : 查看命令 nvcc -Vnvcc: NVIDIA (R) Cuda compiler driverCopyright (c)

2020-08-12 10:21:46 2768 2

原创 make报错:usr/include/c++/7/bits/stl_relops.:67: Parse error at “std“

临时解决办法:qmake后生成了.qmake.stash文件,删除改文件后再make具体原因不详

2020-07-07 14:30:17 4983 4

原创 windows搭建NFS服务器防坑注意事项

最近需要做程序由x86到arm的移植工作,为了方便代码的修改,要在windows上装nfs服务器,tx2做客户端。首先下载服务端软件hanWin,下面这个亲测可用https://download.csdn.net/download/zhenglie110/10786511安装好后,以管理员方式运行然后配置:1 勾选“第二版”2 点击编辑按钮3 添加一行,保存e:\sftp206\nfs -public -name:nfs234 它表示将本机文件夹e:\s..

2020-07-07 11:03:04 1049 1

原创 CUDA Error: no kernel image is available for execution on the device

程序中使用到了darknet静态库,将该程序放在另一台机器上执行时报错:原因:两台机器显卡的算力不一致,在编译darknet的时候应修改makefile配置使其与本机的gpu算力一致。然后将生成的darknet静态库放程序里再重新编译。修改方法:1 查看根据显卡信号查看算力:地址:https://developer.nvidia.com/cuda-gpus2 修改darknet的makefile:3 重新编译参考:https://www.wandouip.co..

2020-07-02 16:39:06 14784 7

原创 大华.dav视频格式转avi的一种办法

在网上寻找转换工具未果,所幸自己写一个,这个办法不是最好的但比较快捷。1 首先使用大华SDK获取视频的帧率和每一帧的大小,这在后面转换的时候要用。2 其次参照大华sdk手册,播放dav视频,在解码回调函数中保存每一帧图片。3 最后使用python的VideoWriter类将图片写入avi视频dav视频转jpg代码://在mfc中的测试代码LONG nPort = -1;void CALLBACK DecCBFun(LONG nPort, char * pBuf, LONG n.

2020-06-17 17:15:13 7372

原创 cv2.VideoCaptured 读取视频失败,尝试全路径和双反斜杠

cap = cv2.VideoCapture("E:\\myVCProject\\testMOG\\Debug\\1.mp4") 成功

2020-06-10 17:32:10 996 1

原创 python使用tcp传输图片数据

数据包格式如下客户端:import socketimport sysHOST,PORT = "172.18.0.3",19984def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOST, PORT)) #包头标志 arrBuf = bytearray(b'\xff\xaa\xff\xaa') #以二进制方式读

2020-06-02 16:21:42 5068 4

原创 docker端口映射

sudo docker network create --subnet=172.18.0.0/16 mynetworksudo nvidia-docker run -itv /home/css/sharedir/mmdetection:/mnt/data -p 19998:19998 --net mynetwork --ip 172.18.0.2 a9fce40c25aa /bin/bash...

2020-05-07 09:22:25 271

原创 linux 下可执行文件出错时使用gdb定位错误

做个记录。测试可执行文件时报错:段错误(核心已转储)此时加打印消息无果,因此尝试使用gdbfile [可执行文件] ----加载需要调试的可执行文件r ----- 开始调试bt 查看调用堆栈#0出即发生错误的地方,可往上追溯的#3 查看调用它的函数gdb命令详解请参考:https://blog.csdn.net/ghostyu/article/detail...

2020-04-30 17:00:55 603

原创 LInux下编译出现错误 “被多次定义”“第一次再次定义”

可能原因,可能在一个头文件.h里写了函数的定义,例如把类的声明和定义都写在头文件。解决方法:对于类,把声明放在头文件,定义放在源文件对于一般的函数,把函数改成内联函数,即函数前面加 inline...

2020-04-28 18:22:30 5726 1

原创 python 编写http服务,接受图片并返回识别结果

业务流程就是客户端post待检测的数据,如datas = {'file': img_str, 'classes': ['wcgz', 'wcaqm' ], 'vis_thresh':0.3}其中‘file’为图片数据, ‘classes’为需要识别的对象名称,‘vis_thresh’为置信度。服务器接受到后,检测发来的图片,如果识别出了待识别的对象则返回它的区域以及其他有用信息。...

2020-04-24 11:33:12 4373

原创 linux c++ 与python之间使用tcp传输图片并返回结果

客户端为 c++,服务端为python客户端可参考:https://blog.csdn.net/qq_31511955/article/details/94580915json库地址:https://github.com/nlohmann/json/tree/develop/include/nlohmann需要一个第三方的json库,主要流程为:图片用imread转换为Mat,然后Ma...

2020-04-22 10:08:46 753

原创 docker搭建openpose环境并测试

直接从docker hub上下载openpose镜像,在镜像中进行测试step1:下载镜像docker pull mjsobrep/openposestep2:启动镜像sudo nvidia-docker run -it -v /home/csswork/zzh/:/mnt c7a9ca2d8c7e /bin/bashstep3:测试#创建输出目录mk...

2020-04-08 15:53:25 1556 1

原创 python 自动清理文件夹旧文件

由于程序一直在不停地存图,因此需要监测图片文件夹的大小,一旦超过指定大小则删除一部分最早的图片。采用开线程的方式,在线程里每隔一段时间键执行一次监测过程。即 测文件夹大小->若超过则将文件夹里的文件按最后修改时间排序->删除一些最早的图片->删的过程中监测文件夹大小是否符合要求# -*- coding: utf-8 -*-# # 开线程检测文件夹大小,...

2020-04-02 13:34:19 1412 1

原创 python用logging模块写循环日志

在程序运行的过程中需要打印一些有用的信息,但如果需要打印的信息比较多的话且运行时间较长则磁盘容量可能不够用。因此就需要写循环日志。比如设置日志的大小为3M,设置日志的个数为3个,设置日志名称为Log。则程序开始时,开始往Log文件写日志,一旦Log超过3M,则将Log存为Log.1,并重新往Log里写日志。以此类推,Log.1满了则存为Log.2,Log.2满了则存为Log.3。都满了...

2020-04-02 13:28:55 2188

原创 Docker保存容器修改的两种方法

第一种:step1,启动容器:step2,修改后退出容器 即exitstep3,查看刚才操作的容器idstep4,提交修改再次查看一下镜像:此时可以进去看一下,保存已经生效。第二种直接把容器保存为一个新的镜像:...

2020-03-30 17:18:49 12073 4

原创 Docker训练mmdetection过程记录

下面是我本人的训练记录,过程中会出现错误,错误在后面会解决,因此一定要看到底再参照。首先服务器上已经装好了Docker,下面开始自己总docker hub上下载一个mmdetection镜像,在容器里训练自己的数据。step1:我选择的镜像为:https://hub.docker.com/r/pengzili/mmdetection然后pull镜像,等待下载...doc...

2020-03-30 16:30:53 1732

原创 python版本冲突的问题

最近遇到个麻烦的问题,就是在conda虚拟环境里用which python查看python版本是3.5,然而用QT调用“python test.py”命令,此时在脚本里打印出python的版本(print sys.path)发现是3.7的。这就导致独自执行脚本的是ok的,而用Qt去调用则一直失败。因为脚本所需的mmdetectioin环境都在3.5上。修改了软连接也没用,因此只得在qt里指定调...

2020-03-24 21:11:00 357

原创 Linux下Qt调用python脚本的一种解决办法

最近在做一个深度学习对图片中对象识别效果的检测工具,其主要功能就是将自己标注的图片与识别结果图片进行对比然后计算识别的准确等参数,并提供原图与结果图片的显示功能。脚本主要完成识别与计算功能,QT完成数据的整理显示与图片的显示。我们可以直接用qt的QProcess调用bash来执行运行脚本的命令,获取结果数据则有两种方式:一是在python脚本中将结果写到文本中,脚本结束后由qt读取。...

2020-03-23 14:59:11 1946 3

原创 Linux下qt程序的打包

qt程序打包请参考https://blog.csdn.net/qq_27350133/article/details/83445258?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task他会自动生成可执行文件所需要的库文件,然后将整个文件夹可以拷到...

2020-03-23 14:31:09 1027

原创 qt工程从windows+VS 移植到Linux+qtCreator

STEPS: 1 因为我是在windows的qt插件上写的工程没有.pro文件,所以在Linux的qtCreator 上新建一个工程,注意名称要一样,主界面的类名都要一样。建好了不放心可以用xml 方式打开ui文件,对照一下classname,如果不对应要全局替换。 2 下面就把原来工程的.cpp、.h、qrc文件(自己程序用到的都要,比如我用的json类库,就...

2020-03-20 22:29:57 3392

原创 搭建Linux下的qt开发环境、配置Opencv

做个总结,都是借鉴网友的做法,希望大家少踩点坑!steps:1 在VMplayer 安装Ubtuntu 16.04系统2 安装VMtools,方便文件传输,或者安装Samba 安装VMtools可参考 https://blog.csdn.net/luckypython/article/details/77917898?depth_1 -utm_source=distri...

2020-03-18 17:58:41 339

原创 在vs开发环境中用opencv读取图片,Debug模式下成功,release模式下失败的可能原因

1 检查一下release模式下的链接器的输入,其依赖的lib名称最后一个字母是没有"d",d代表debug如图:2 检查一下路径,看是否因为带中文的路径导致编码错误...

2020-03-17 11:38:00 920

转载 Python3字符问题处理[UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128]

Python3字符问题处理[UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128] ...

2020-01-19 14:32:44 166

原创 多标签图像检测求精确率,召回率,AP,mAP

首先我有一个文件夹,里面包含两百多张已经用labelImg标注好的图片,每个图片对应一个xml文件。这些图片中可能会包含五种标签。现需要利用mmdetection计算每种标签的精确率(precision),召回率(recall),AP,和这个模型的mAP。并且将检测结果写成xml,且该xml可被labelimg识别。网上大多讨论的是二分类的做法,当下的问题相当于五类,说一下我的思路。对...

2020-01-17 11:44:04 3042 1

原创 解决电脑插上充电器却充不上电的情况

我的电脑是Thinkpad new S2,电源插入时,连指示灯都不亮。这种情况出现过两次。别送去3C服务,没用的,他只会帮你拆开再装上,白费50元拆机费。应该按照如下步骤拔出电源 重启进入boot,也就是开机时按F1(或者Fn加F1同时按下) 找到Power菜单 激活选项"Disable built-in battery" ,也就是不用电池 这时候会自动关机,静候一段时间(30...

2020-01-11 21:23:04 8622 2

原创 找到Linux共享文件夹的实际位置

在nvidia容器中跑了一下mmdetection图片检测的测试例子,我想看一下原图片和结果图片是什么样子,本来想在linux中装一个查看图片的工具,但经理说不用装,直接在共享文件中看。于是我摸索了一下。1 首先,容器的目录是宿主机挂在上去的sudo nvidia-docker run -it -v /home/csswork/cy/:/mnt c7a9ca2d8c7e /bin/b...

2020-01-10 09:53:30 6772 1

转载 windows下安装LabelImg的参考步骤

https://cloud.tencent.com/developer/news/325876

2020-01-08 13:39:01 1896

原创 win10访问不了samba共享文件夹解决方法

输入用户名和密码后提示没有权限,此时应该按照以下链接操作https://jingyan.baidu.com/article/7c6fb428d62a6e80642c90cc.html

2020-01-07 16:17:13 5335

原创 error C2440: “初始化”: 无法从“const char [3]”转换为“CString”

错误语句:解决方法:改变字符集为多字节。

2019-09-15 13:47:32 1279

原创 纯c++实现Base64加解密,MFC封装成加解密文件

核心的转换函数:std::string CMyBase64mfc::base64_encode(unsigned char const* bytes_to_encode, unsigned int in_len){ std::string ret; int i = 0; int j = 0; unsigned char char_array_3[3]; unsigned char...

2019-09-03 21:01:50 837

原创 SDL隐藏鼠标光标

在需要将视频投影到大屏幕的情况下,鼠标光标会影响美观。因此需要将鼠标光标隐藏。在消息循环里调用SDL_ShowCursor(false),光标隐藏了但是点击依然有效。...

2019-09-03 20:04:00 1156

原创 QT/mfc下以空格分隔的string字符串命令转成16进制char数组

例如json配置文件有如下内容其中cmdOpen为要发送的十六进制命令字符串,那么就需要转换。在Qt/MFC下的方法如下://QT下int convertStringToCharArrary(string strCmd, char chCmd[]){ QString qstrCmd = QString::fromStdString(strCmd); QStringList c...

2019-09-03 16:58:32 1056

原创 error C2371: “imaxdiv_t”: 重定义;不同的基类型

出错情况:在ffplay的mfc移植版本上拓展功能时,需要用到rapidjson开源框架来读取json文件。 自己在rapidjson上封装成自己的类,使用时编译报错原因分析:ffplay跟rapidjson都用到了inttypes.h头文件,导致imaxdiv_t重定义。解决方法:将ffplay下的inttypes.h替换掉rapidjson下的inttypes....

2019-08-30 22:43:03 938 1

原创 Qt下对软件试用期以及使用次数设置的一次探索

利用注册表和配置文件限制用户对软件的使用次数和天数。XML配置文件字段如下:<?xml version="1.0" encoding="UTF-8"?><UsageConfig description="用户使用权限配置"> <IsPermanent>0</IsPermanent> <CDKey>Kv3cEciR3L&lt...

2019-07-25 15:58:01 5442 4

原创 计划任务使用注意项(schtasks)

1 创建任务到最后一步报错时,可以先创建基本任务,创建后点击该任务修改。2 这里的“登录时”指机器启动后,第一次输入密码登入账号。而不是锁定桌面后,输入密码进入系统3 用脚本完成计划任务的创建时,在win10下需要取得管理员权限,在bat头部添加一下代码:get administrator%1 %2ver|find "5.">nul&&goto :A...

2019-07-22 14:51:01 1157

原创 Qt文件快速移动工具&Python文件移动脚本

最近遇到一个需求,即需要将文件夹A里的图片一部分移动到文件夹B,另一部分移动到文件夹C。而需要移动到B和C的图片的名称分别保存在两个txt文本中,每个图片名称占一行。txt文本如下:因为图片的名称比较复杂,对着找比较麻烦,因此做一个小工具来自动化完成。只需三步:1 加载txt文本2 选择图片所在文件夹3 选择目标文件夹4 点击移动这样就完成了一次移动。效果如...

2019-07-13 21:35:42 793

原创 Qt处理耗时任务,显示等待界面的两种方式,并防止界面假死与用户误操作

目录一、弹出对话框,对话框显示gif动图二、弹出进度条一、弹出对话框,对话框显示gif动图效果如下:1 新建一个QWidget,类名为QWaiting,里面放两个QLabel,一个用于显示动图,一个显示文字,设定栅格布局,如下被忘了把动图先加载到资源里,动图的话这里提供两个网址:http://www.lanrentuku.com/gif/a/loading_2...

2019-07-13 20:57:57 33867 5

原创 Qt下图片加密的两种方式

目录Base64加密Base64加密Base64解密异或加密测试Base64加密Base64解密异或加密异或解密最后Base64加密Base64加解密密主要用Qt的两个函数,即QByteArray QByteArray::toBase64() constQByteArray QByteArray::fromBase64(cons...

2019-07-06 22:39:44 1350

原创 MFC使用的OpenURL下载网页数据必要时要去除缓存

MFC用OpenURL获取网络摄像头数据时,发现程序运行期间每一次获取的结果都一样,而实际上结果数据已经改变了。只有重新运行才能获取最新结果,因此考虑到可能后面读取到的都是第一次的缓存。解决方法:修改函数第三个参数为INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD,强制重新获取结果。file = (CHttpFile*)sessio...

2019-05-28 11:18:13 718

试用期设置.rar

设置软件试用天数和次数,以及永久使用权。 利用注册表和XML配置文件做限制。并对配置文件做Base64加密

2019-07-25

fileMove.rar

加载文件名称列表,快速移动文件 进度条显示移动进度 或显示动图等待界面

2019-07-13

EncryPic.rar

Qt下图片加密的两种方式 Base64和异或

2019-07-08

Qt操作Excel

* 该类通过COM来操作excel,主要使用QAxObject以及Excel VBA,须在.pro文件中添加 “QT += axcontainer” * * Excel的层次结构为 excel应用程序->工作簿->工作表->单元格 * 一个类对象可以创建多个工作簿,每个工作簿可以操作多张工作表 * * 在新线程中使用要单独初始化COM,OleInitialize(0); * * 使用流程:创建类对象->创建/打开工作簿->添加/打开/删除工作表->添加表信息->关闭工作簿->删除工作簿->关闭excel

2019-03-23

STC15W4K.H、STC15W408AS.h

STC15W4K系列的两个头文件

2019-02-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除