自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蜗牛、Gray

遇见和收获,记录和分享

  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 Python setuptools wheel 打包设置自定义标签

python打包wheel并自定义标签

2022-09-13 12:11:09 419 1

原创 使用setuptools打包发布Python项目

使用 setuptools 打包发布http://timd.cn/setuptools/简单示例import setuptoolssetuptools.setup( name="tsari-convert", version='1.0.0', author="Gray Snail", author_email="[email protected]", description="道路格式转换,场景格式转换", keywords='tsari r

2021-04-25 10:53:43 315 2

原创 OpenSlide Python 处理全扫描图像

OpenSlide Python 处理全扫描图像目录OpenSlide Python 处理全扫描图像全扫描(whole slide image)图像基本方法读取图像常用操作转换为 numpy 数组并用 opencv 处理全扫描(whole slide image)图像全扫描(whole slide image)图像非常的大,处理起来比较麻烦,openslide 提供了一个很好的接口,用来处理这些非常大的图像。安装sudo apt-get install openslide-toolssudo a

2021-03-20 21:54:14 1190 5

原创 CMake的基本使用

CMake的基本使用基本函数message打印消息,函数原型:message( [STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...) # (无) = 重要消息;# STATUS = 非重要消息;# WARNING = CMake 警告, 会继续执行;# AUTHOR_WARNING = CMake 警告 (dev), 会继续执行;# SEND_ERROR = CMake 错

2020-11-03 14:14:25 524

原创 Python中的面向对象整理

Python中的面向对象1. 类的基本形态class Father(object): def __init__(self): self.a='aaa' def action(self): print('父类的方法') def action1(self): print('父类的方法')# 继承Father class Son(Father): def __init__(self, b): super(

2020-11-03 14:09:32 161

原创 Redis安装和键过期事件监听

1. 安装sudo apt install redis-server2. 配置Redis配置文件sudo vim /etc/redis/redis.conf# 修改如下# 管理服务的用户supervised systemd# 远程连接# bind 127.0.0.1::1bind 0.0.0.0# 密码requirepass foobard重启服务:sudo service redis restart# 其他 start stop查看运行状态:sudo syst

2020-11-03 14:01:53 183

原创 nrm源管理插件

npm源管理工具之nrm简介npm源切换,需要手动修改配置文件,操作效率低下。使用nrm,可以一行命令切换npm的源。搭配node版本管理器,效果奇好。安装npm i -g nrm使用安装完成后,即可在terminal中使用nrm命令。直接输入nrm显示帮助。常用命令:# 显示所有源nrm ls# 切换源nrm use <registry>#添加源nrm add <registry> <url>...

2020-10-26 10:36:21 117

原创 ECharts中GeoJson压缩和解码算法

查看echarts例子中提供的地图文件,发现geo的coordinates中包含许多乱码,其文件内容比自己的小很多,猜测数据做了压缩。网上搜索并查看源码,确实对数据进行了压缩处理。压缩代码来自https://my.oschina.net/rodger/blog/838763代码未经测试,测试之后,转换为Python实现,并和省市区三级行政区数据获取和GeoJson地图下载中的下载代码整合。function encodePolygon(coordinate){ var prevX=0,prevY=0

2020-07-01 23:13:05 3372 3

原创 省市区三级行政区数据获取和GeoJson地图下载

文章目录1.背景2.行政区域数据获取3.获取GeoJson数据1.背景项目中用到省市区三级的行政区划的选择,在网上找到的数据与最新的行政区域划分不一致,也难以确认数据的完成性。基于echarts完成数据地区分布图时,需要提供地区对应的geoJson格式地图。2.行政区域数据获取高德开放平台提供了丰富数据API,其中行政区域信息可通过以下接口:https://restapi.amap.com/v3/config/district?keywords=中国&subdistrict=3&

2020-07-01 10:06:38 3888 2

原创 C++中的调用约定和名称修饰

1. 基本概念调用约定调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。名称修饰在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类型或者是不同的作用域)有多个用法,而不会打破现有的基于C的链接器。这项技术通常被称为名称改编(Name Mangling)或者名

2020-05-22 14:59:49 289

原创 创建自己的数据集并用于目标检测

创建自己的数据集并训练目标检测从零创建自己的数据集并用于目标检测相关代码以放在Github,https://github.com/GraySnail/DatasetTool1. 数据准备1.1 准备文件├── VOCdevkit| └── VOC2020| ├── JPEGImages| └── Annotations首先创建如上所示的目录结构,并将所有图片放到...

2020-04-30 20:26:55 997 6

原创 Yolo V4训练自己的数据

Yolo v4在自己的数据集上的训练目标检测一大堆,yolo系列真香。不写代码,只是代码的搬运工。一、Yolo v4的安装官方代码库的更新太频繁了,索性直接克隆一版,地址:https://github.com/AlexeyAB/darknet.git整个过程不要太简单,依次安装 CUDA=10.0、CuDNN>7.0、OpenCV,最后克隆代码,make -j8一键搞定。实在不...

2020-04-30 18:54:51 6294 3

原创 C/C++中typdef用法

C/C++中typedef和类型别名一些习以为常的基础,偶尔间发现还有未触及的盲区。不懂就要弄懂。感谢 csxiaoshui大神的文章,自己做了删减并记录了自己的体会。1. 基本语法和使用场景1.1 指定一个简单的别名,避免了书写过长的类型名称在C语言的结构体定义中:struct MyStruct { int data1; char data2;};struct MySt...

2020-04-12 18:32:57 808

原创 编写高质量Python代码应该注意的知识点

编写高质量Python代码使用with自动关闭资源上下文管理器(context manager)在对象中定义 __enter__()和__exit__()方法__enter__():进入运行时的上下文,返回运行时上下文相关的对象,with语句会叫这个返回值绑定到目标对象。__exit__(exception_type, exception_value, traceback):退出运行时的...

2020-03-24 23:47:28 115

原创 Python中==和is的适用场景

Python中==和is的区别1. python中变量的存储优化小整数为了优化存储空间,python为小整数([-5,255])分配固定的存储空间,当变量为小整数时,对象直接指向该小整数对应的地址。id() 返回对象的唯一标识符,标识符是一个整数。Cython中id()获取对象的内存地址。举个栗子:>>> a = 1>>> b = 1>&g...

2020-03-24 21:47:22 319

原创 Numpy中的多项式表示及拟合

Numpy中的多项式表示及拟合1. poly1d 类的说明和使用官方文档的解释:一维多项式类,用于封装多项式上的“自然”运算,以便所述运算可以采用代码中的惯用形式。参数解释:c_or_r : array_like 多项式的系数,按照幂的降序排列。如果第二个参数为 `True`,则表示多项式的根。 比如 ``poly1d([1, 2, 3])`` 返回的对象表示:math:`x^2 + ...

2020-01-15 18:40:13 1581

原创 C++ ABI探究和兼容性问题

C++ ABI探究和兼容性问题ABI(Application Binary Interface)应用程序二进制接口,描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低接口。编程语言实现的 ABI 是一种可以使单独编译的模块协同工作的低级细节的规范。如果没有一个稳定的 ABI,就必须使用同一编译器的同一版本编译程序的所有部分。C ABIOracle Solari...

2020-01-14 16:35:35 8994

原创 Ubuntu中svn代码管理

Ubuntu中SVN代码管理安装客户端安装异常简单,一行搞定:sudo apt-get install subversion常用命令检出文件(checkout)svn co http://{svn repository url} /destination添加跟踪文件(add)svn add <file># 添加所有文件svn add . --force提交...

2020-01-14 12:50:52 405

原创 GitHub异常解决

GitHub clone速度太慢解决办法在从github上克隆项目时,忍受着几十kB的速度近一年,中间经常断个几十次,心情跌到谷底。终于忍无可忍,开始寻求解决办法。果然,很多人都有这样的困惑,且有人已经给出了解决办法。原因git clone 速度太慢是因为 github.global.ssl.fastly.net 这个域名被限制了,因此在找到对应的IP后,修改 host文件 即可解决问题。...

2019-09-27 09:39:07 440

原创 Ubuntu中使用update-alternatives管理软件版本

Ubuntu中使用 update-alternatives管理软件版本初识 update-alternatives在ubuntu系统中,update-alternatives是专门维护系统命令链接符的工具,其可以对某个工具的多个软件版本进行管理,通过它可以很方便的设置系统默认使用哪个命令的哪个软件版本。工作原理如下:系统路径下,/usr/bin/<name> 软链接指向了 /e...

2019-09-22 16:55:19 199

原创 Windows进程查找

Windows下根据名称查找进程使用vs调试C++程序时,有时由于强制退出,会出现 ***.exe无法写入 的错误,重启vs甚至都无法解决。原因由于调试强制结束,导致***.exe进程还在后台运行。解决办法打开命令提示符,强制结束该后台进程:1.Ctrl + R ,输入cmd 打开命令提示符;2.查找进程, ***.exe 表示自己要查找的进程名称:tasklist | find ...

2019-09-04 20:35:06 6145

原创 Ubuntu 上的常用软件安装方法

Ubuntu 上的常用软件安装方法Typorasudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAEsudo add-apt-repository 'deb http://typora.io linux/'sudo apt-get updatesudo apt-get install t...

2019-07-05 13:47:42 250

原创 06 画图和标记

Chapter 06 画图和标记颜色的表示 cv::Scalar,颜色顺序为 BGR , 宏指令 CV_RGB(r, g, b) 返回一个颜色表示。图形cv::circle()画一个简单的圆cv::clipLine()判断直线是否在给定的范围内当直线的所有点都不在给定范围内返回falsecv::ellipse()画一个椭圆,也可以画弧cv::ellipse2Poly()计...

2019-04-30 00:13:45 193

原创 05 数组操作

Chapter 05 数组操作cv::calcCovarMatrix()求矩阵集的协方差矩阵cv::dct()该函数根据flags参数执行离散余弦变换和逆变换。cv::dft()该函数根据flags参数执行离散傅里叶变换和逆变换。cv::getConvertElem() 和 cv::getConvertScaleElem()该函数返回一个函数指针 cv::convertData 和...

2019-04-30 00:13:03 934

原创 04 图像和大数组类型

Chapter 04 图像和大数组类型主要介绍两大数据结构: cv::Mat 、 cv::SparseMat 。cv::Mat n维稠密数组稠密是指每一个指定的位置,都有具体的数据值对应,即使矩阵中有很多相同的值。内存填充,是为了提高访问效率。Mat 中元素的类型定义:数据类型 + 通道数,CV_{8U,16S,16U,32S,32F,64F}C{1,2,3} 。创建多于3通道的类型时,...

2019-04-30 00:12:20 123

原创 03 基本数据类型

Chapter 03 基本数据类型基本类型cv::Mat,可以表示任意维度的矩阵,大数组表示;cv::Vec<> Vector模板,常用别名 cv::Vec{2,3,4,6}{b,w,s,i,f,d},以上组合都是有效的;继承自 cv::Matx<>元素访问 [i] 、(i) ;叉积 v3f.cross(u3f) 。cv::Matx<> 区别于M...

2019-04-30 00:11:32 210

原创 CMake构建Qt项目

使用 CMake构建Qt项目参考Qt官方文档系统环境Ubuntu 18.04Qt5.12.2cmake 3.10.2构建 Qt5 的 cmake 最小版本为 3.1.0典型的使用例子假设有一个QtWidget项目包含一个主窗体,有 mainwindow.ui,mainwindow.h, mainwindow.cpp,main.cpp 四个文件,则对应的 CMakeLists.txt...

2019-03-31 17:35:03 617

原创 Ubuntu下搭建Qt开发环境

Ubuntu下搭建Qt开发环境一. 下载安装包下载地址:http://download.qt.io/official_releases/qt/5.12/5.12.2/qt-opensource-linux-x64-5.12.2.run.mirrorlist根据需要,选择合适的版本和平台。二. 安装打开终端,进入到下载目录,为安装文件添加可运行权限。然后运行。chmod +x qt-...

2019-03-29 20:17:18 758

原创 Ubuntu下Anaconda和Python基础环境配置

Ubuntu下Anaconda 和 Python 基础环境配置anaconda的基本操作配置# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/binecho 'export PATH="~/anaconda3/bin:$PATH"' &gt;&gt; ~/.bashrc# 更新bashrc以立即生效source ~/.bashrc常用命令...

2019-03-16 13:58:38 2908

原创 Qt中OpenCV无法链接库

Qt中配置OpenCV遇到的坑系统环境win10 + Qt5.6 + MSVC2013 64bit + OpenCV3.1 + Qt Create问题创建项目后,在 .pro 文件中添加了 OpenCV 的包含目录和库文件,如下:INCLUDEPATH += D:/SoftPackage/opencv/build/includeDEPENDPATH += D:/SoftPackage/...

2019-03-14 17:25:44 1723 3

原创 Ubuntu下编写OpenCV程序

Ubuntu下编写OpenCV程序Ubuntu下编译 OpencCV 程序有两种方法:Command line 和 cmake。创建 test.c 文件,内容如下:#include &lt;opencv2/opencv.php&gt;int main(int argc, char** argv){ cv::Mat img = cv::imread("/home/xiaotao/...

2019-03-11 22:09:20 1305 2

原创 Ubuntu18.04编译安装OpenCV3.4

Ubuntu18.04编译安装OpenCV3.4基本准备工具软件: cmake, gitsudo apt install cmake git系统支持:gcc 和 essential 开发包、libtbb(Intel 线程构建块)、GTK+ 2.x 或更高(包含header)、pkg-configIO:zlib、libpng、libjpeg、libtiff、libjasper,并包含开...

2019-03-11 22:05:38 3084 3

原创 Ubuntu下nvm的安装使用

Ubuntu下nvm的安装使用1. nvm介绍nvm是一个node版本管理器,类似与Python中的 Anaconda 、virtural-evn。2. 安装nvm的github仓库地址为 https://github.com/creationix/nvm项目的说明文档中列出了多种安装方式,选用其中一种进行安装。在终端执行以下命令,将自动进行nvm的安装:wget -qO- ht...

2019-03-11 22:01:30 29733

原创 Ubuntu18.04LAMP环境搭建

Ubuntu18.04LAMP环境搭建0. 准备工作正式 安装前,先更新系统sudo apt-get update # 获取最新资源包sudo apt-get upgrade # 更新本机软件sudo apt-get dist-upgrade # 更新系统软件1. Apache安装1.1 命令行安装安装Apachesudo apt install apache2...

2019-03-11 21:57:46 261

原创 Ubuntu18.04下MySQL5.7安装配置

Ubuntu18.04中安装MySQL5.71.安装直接通过源安装sudo apt-get updatesudo apt-get install mysql-server mysql-clientsudo apt-get install libmysqlclient-dev整个过程自动下载和安装,完成后,检查是否已正确安装并成功启动:sudo netstat -atp | ...

2019-03-11 21:55:42 452

吴恩达深度学习课后习题 第 5 章

吴恩达深度学习课后习题和代码 deep-learning-coursera 包含数据

2019-03-31

吴恩达深度学习课后习题 1-3 章

吴恩达深度学习课后习题和代码 deep-learning-coursera

2019-03-31

空空如也

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

TA关注的人

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