基础技术
CV-deeplearning
小米AI Lab图像算法工程师,擅长表格识别、目标检测、行人属性识别、车牌识别等。
展开
-
如何用python调用C++处理图片
【代码】如何用python调用C++处理图片。原创 2024-06-19 10:18:57 · 578 阅读 · 2 评论 -
数据结构:八种数据结构大全
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能;常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、堆(Heap)、(Hash)等;转载 2023-05-11 11:38:55 · 2741 阅读 · 0 评论 -
Android Studio常用快捷键
Android Studio常用快捷键原创 2022-06-20 14:17:00 · 407 阅读 · 0 评论 -
c++ 遍历文件夹下的所有文件
遍历文件夹下的所有文件:代码实现#include <iostream>#include <dirent.h>#include <vector>#include <cstring>void GetFileNames(std::string path, std::vector<std::string> &filenames){ DIR *pDir; struct dirent* ptr; if(!(pDir原创 2022-05-16 17:22:32 · 4053 阅读 · 2 评论 -
多排文字排序问题,按照阅读顺序输出
一. 前景介绍如下图所示,通过文本检测检测到下面的四个框,他们的编号如图所示。现在要按照阅读顺序输出,返回新的编号顺序:2 1 0 4 3二. 思路与代码主要思路如下:计算平均高度按照高度排序左右排序合并结果代码实现:#include <iostream>#include <string>#include <vector>float cal_mean_height(const std::vector<std::vector<in原创 2022-04-27 07:50:23 · 502 阅读 · 0 评论 -
c++ split 根据字符分割字符串
c++ 实现python的功能:os.path.basename(img_path)#include <iostream>#include <string>void _split(const std::string &s, char delim, std::vector<std::string> &elems) { std::stringstream ss(s); std::string item; while (getli原创 2022-04-25 17:40:11 · 1995 阅读 · 0 评论 -
c++ 按行读txt文件与字符串写入txt文件
#include<iostream>#include<fstream>#include<string>int main(){ // 向文件里写数据 std::ofstream os; //创建一个文件输出流对象 // os.open("../books.txt", std::fstream::out|std::fstream::app);//将对象与文件关联, app就是每次在文件后面继续添加内容 os.open("../原创 2022-04-23 11:49:34 · 3024 阅读 · 0 评论 -
openpyxl生成excel表格
直接上代码from openpyxl import Workbookfrom openpyxl.styles import Alignmentfrom openpyxl.worksheet.table import Table, TableStyleInfowb = Workbook()ws = wb.activedata = [['Apples', 10000, 5000, 8000, 6000],['Pears', 2000, 3000, 4000, 5000],['Banan原创 2022-02-14 20:02:42 · 1062 阅读 · 0 评论 -
excel2html 把表格转化为html
import osfrom xlrd import open_workbook,formattingdef Excel2Html(filename, with_text=True): """ 该函数把.xls的表格文件转化为html字符串 参数: with_text为True:输出表格结构和文字信息 with_text为False:只输出表格结构信息 """ filepath = filename # wb = open_workboo原创 2022-02-09 09:36:27 · 895 阅读 · 0 评论 -
html2img 将HTML转化为图片
步骤1. 用浏览器显示html2. 截屏3. 后处理,截取有效部分代码import osimport pyppeteerfrom pyppeteer import launchimport asyncioimport cv2async def get_jpgs(html_path, img_path): browser = await launch() page = await browser.newPage() await asyncio.wait_for(p原创 2022-02-08 20:23:12 · 1339 阅读 · 1 评论 -
json 解析与存储
josn 读取出来之后,对应python里的列表和字典,操作方便。原创 2020-04-17 17:08:48 · 281 阅读 · 0 评论 -
ssh: connect to host 10.224.120.107 port 22: No route to host
1. 背景介绍由于疫情,把电脑搬回家办公,把服务器上的数据拷贝到本地分析是,报以上错误。2. 解决问题造成这种错误的原因是,从公司把电脑搬回家,IP变了,检查一下现在的IP,修改过来即可。把你拷贝命令中的IP修改为10.223.177.68即可。例如:scp -r README.md mi@10.224.177.68:/home/mi/桌面/每天进步一点,居家办公无烦恼!!!...原创 2021-08-11 11:20:55 · 613 阅读 · 0 评论 -
Clion中配置OpenCV环境(Ubuntu)
一. 在Ubuntu环境下安装破解Clion请看我之前的教程Clion安装与破解教程(Linux)二. 在Ubuntu环境下安装OpenCV(c++版本)请看我之前的教程ubuntu 安装 opencv 的 c++版本三. Clion的OpenCV环境配置1. 打开Clion,新建一个工程,工程名为XXX2. 打开工程的CMakeList,在末尾添加以下代码find_package(OpenCV REQUIRED)target_link_libraries(<project n原创 2021-07-09 14:51:31 · 2272 阅读 · 1 评论 -
Clion安装教程(Linux)
一. Clion下载与安装1. 从官网下载Clion安装包并解压。默认Clion可以免费使用30天(不用着急,后面有破解教程)。2. 配置环境变量vim ~/.bashrc#添加alias clion=/home/<用户名>/<安装路径>/clion-2021.1.1/bin/clion.sh修改后退出,source使修改生效source ~/.bashrc3. 启动打开终端输入clion即可启动二. Clion破解1. 启动软件, 将博主提供的2.1.9.翻译 2021-07-09 11:29:39 · 9716 阅读 · 5 评论 -
深度学习CV和PIL预处理图片,速度对比
1. 背景介绍 深度学习中训练模型时,通常会对图片进行预处理。工程工程师们经常使用OpenCV或者PIL图像处理库对图片进行预处理,个人推荐使用OpenCV,有利于工程部署,性能也更好。 本文着重比较二者在基本图像处理任务上,耗时问题分析。从结果可知,OpenCV的速度更快,提速非常客观。2. 代码展示 注:imgs文件夹里面存放的是普通图片。"""author:guopeidate:2021/06/02"""import osimp...原创 2021-06-02 17:08:13 · 1312 阅读 · 2 评论 -
在Ubuntu上安装WPS,并解决字体缺失问题
1. 背景介绍 Ubuntu自带的office实在太难用了,个人还是习惯用wps,于是在Ubuntu上安装wps,于是有了这篇博客。2. 安装WPS 首先,在wps的官网(https://www.wps.cn/product/wpslinux)下载你系统对应的安装包,我下载的是wps-office_11.1.0.10161_amd64.debsudo dpkg -i wps-office_11.1.0.10161_amd64.deb 安装完成后,即...原创 2021-05-28 17:00:22 · 2180 阅读 · 0 评论 -
ValidationError: Your model ir_version is higher than the checker‘s 完美解决
1. 情景介绍 我用pytorch训练的模型,将训练的模型转化为.onnx文件,然而,在模型验证的时候报错,错误栈如下: ValidationError: Your model ir_version is higher than the checker's 局部代码如下:import onnxmodel = onnx.load("alexnet.onnx")onnx.checker.check_model(model)2. 分析问题并解...原创 2021-05-26 19:59:58 · 6292 阅读 · 0 评论 -
Ubuntu:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 完美解决
1. 前景介绍 前几天还在自己的笔记本上训练了yolov5模型和人脸识别模型,使用的GPU。 然而,几天做项目时,突然发现GPU不能用了,nvidia-smi后报一下错误: Ubuntu:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.2. 问题分析与解决 分析问题:这是一个常见问题,经常出现在ubuntu系统中,主要原因还是系统内核升级了,导...原创 2021-05-23 18:28:30 · 2040 阅读 · 0 评论 -
nohup 后台挂起训练模型,防止断电等断开链接
1. 情景介绍 当我们在服务器上训练模型时,防止意外等断开与服务的链接从而导致训练终止,一个比较好的解决方法就是使用nohup。2. 使用方法 nohupcommond 例如:下面就是在后台训练模型的命令。nohup train.py 原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。 如果你希望看到训练日志,在训练的目录下运行下面命令:tail -fn 50 ...原创 2021-05-11 13:06:40 · 1191 阅读 · 0 评论 -
MACE在Android手机上部署深度学习模型——采坑记录
1./bin/sh: cmake: command not found 其实就是没有找到cmake, 把cmake添加到环境变量中, 使其生效就可以了。# 配置cmakeexport PATH="/home/CV-deeplearning/cmake-3.18.1-Linux-x86_64/bin:$PATH" 参考:https://zhidao.baidu.com/question/813991431376924892.html2.SDK...原创 2021-04-28 20:49:18 · 451 阅读 · 0 评论 -
通过MACE在Android手机上部署深度学习模型
1. MACE的环境搭建 参考我的博客:MACE的环境搭建——conda实现2. 构建项目 (1)下载MACE项目到本地git clone https://github.com/XiaoMi/mace.git (2) 下载MACE Model Zoo 项目git clone https://github.com/XiaoMi/mace-models.git (3) 编译MACE生成库文件 /path/to/mace...原创 2021-04-28 20:00:05 · 1219 阅读 · 5 评论 -
android ndk 下载安装(ubuntu)
1. 下载并解压安装包 官网下载:https://developer.android.com/studio 官网下载需要梯子,百度云盘下载:链接: https://pan.baidu.com/s/1Ge8fQuNrvtIk_2HqEOHzsw 密码: l7ru 解压:unzip android-ndk-r22b-linux-x86_64.zip2. 配置环境变量sudo vim ~/.bashrc 在~/.bash...原创 2021-04-28 10:59:20 · 1325 阅读 · 2 评论 -
CMake 安装与卸载
1. CMake 安装 直接去官网下载编译好的二进制包,下载地址:https://cmake.org/download/ 在Binary distributions一栏选择对于平台,下载tar包之后解压, 以 3.20.1 版本为例,解压之后:mv cmake-3.20.1 /opt/cmake-3.20.1ln -sf /opt/cmake-3.20.1/bin/* /usr/bin/ 查看CMake版本cmake --versio...原创 2021-04-28 10:23:11 · 3358 阅读 · 0 评论 -
MACE的环境搭建——conda实现
1.MACE 主页 MACE 的github地址:https://github.com/XiaoMi/mace 小米官方的相关文档:https://mace.readthedocs.io/en/latest/ 对开发环境的要求,可以按照以下指令安装相关的包:2. 创建虚拟环境并安装常见的包 (1) 创建虚拟环境,我把虚拟环境命名为maceconda create -n mace python=3.6 (2)...原创 2021-04-28 09:51:58 · 714 阅读 · 0 评论 -
ubuntu上安装Bazel
1. 安装需要的软件包sudo apt install g++ unzip zip 如果你要编译Java 代码,安装JDK# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:sudo apt-get install openjdk-8-jdk# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:sudo apt-get install openjdk-11-jdk2. 下载安装文件并...原创 2021-04-26 20:49:54 · 810 阅读 · 0 评论 -
如何优雅的阅读论文——福昕阅读器
1. 情景介绍 我们在阅读国外文献时,一般会对文章进行理解,从而在论文上做一点笔记。那么,之后回忆起该论文和笔记时,就会快速的想起论文的行文思路,从而节约时间。 在这里,博主给大家推荐一种阅读器,方便实用,那就是福昕阅读器。2. Ubuntu下福昕阅读器安装 (1) 下载地址:https://www.foxitsoftware.com/pdf-reader/ (2) 解压下载的文件,一下两行命令:gzip -d FoxitRea...原创 2021-04-25 20:14:40 · 552 阅读 · 0 评论 -
如何查看服务器上的图片
1. 场景说明 做算法经常是在服务器上开发,有时就需要查看服务器上的图片,来验证自己的算法结果。2.解决方法 (1)在服务器终端运行下面的命令,会出现网页链接,点击进入: python -m http.server 8888 注:8888为端口号,可以修改。 (2)将端口号前面的地址修改为你服务器地址,即可查看服务器上的图片。 ...原创 2021-04-22 14:15:55 · 3265 阅读 · 0 评论 -
ssh: connect to host 10.224.120.107 port 22: Connection refused
背景介绍:我在跨机器拷贝数据时,遇到以上错误,由于服务器的ssh是配置好的,估计是本机的ssh没有配置好。运行一下命令后,就可以跨机器拷贝数据了:sudo apt-get install ssh openssh-serverps -e |grep sshsudo /etc/init.d/ssh start解决本机的ssh配置后,一切操作都很丝滑。...原创 2021-04-15 17:27:25 · 812 阅读 · 0 评论 -
vim 设置
1. 由于博主习惯运用vim而不喜欢用IDE,所以把我的vim设置记录一下,习惯而已set nocompatibleset numberset wrapset showmatchset scrolloff=3set encoding=utf-8set fenc=utf-8set hlsearchsyntax onset ts=4set sts=4set expandtabset softtabstop=4set shiftwidth=4set autoindentset原创 2021-03-30 17:46:19 · 130 阅读 · 0 评论 -
笔记本安装ubuntu系统——笔记本带有nvidia显卡
最近购置了一台雷神的笔记本电脑,带有nvidia 1070显卡。现在该笔记本上安装ubuntu系统,安装成功,后其在该系统上搭建深度学习环境。原创 2021-01-14 10:05:30 · 1410 阅读 · 0 评论 -
c++ STL学习案例——分组显示员工信息
c++ STL中vector和map相结合的应用案例——分组显示员工信息原创 2021-01-08 14:57:38 · 245 阅读 · 0 评论 -
c++ STL容器应用——评委打分案例
c++ STL容器应用,实现一个简单的评委打分案例。原创 2021-01-08 14:47:36 · 215 阅读 · 0 评论 -
c++实现对自定义数据类型进行排序
c++对自定义数据类型排序原创 2021-01-08 14:35:52 · 930 阅读 · 0 评论 -
c++进阶篇 c++实现员工管理系统
最近手上的项目不是很忙,无聊就写写c++程序,实现了一个员工管理系统,供c++入门的小白学习。原创 2020-12-31 13:46:34 · 1132 阅读 · 0 评论 -
c++入门篇 c++实现通信录管理系统
最近时间还算充裕,用C++写一个通讯录管理系统,供入门的小白学习。原创 2020-12-16 16:48:00 · 243 阅读 · 0 评论 -
Python编译成.so文件后调用
python代码毫无隐秘性可言,可将代码转为.so文件,再用代码调用。原创 2020-09-30 16:53:37 · 3222 阅读 · 2 评论