- 博客(38)
- 资源 (3)
- 收藏
- 关注
原创 离线环境下批量配置Python的各种依赖包
** 如何在离线环境下一次性的批量配置Python依赖包**如果你的工作环境要求断网或离线,那么在进行Python的环境配置时需要频繁下载依赖包,例如在配置tensorflow或者mmdetection等。如果一个一个下载导入内网那就很坑,如何批量的一次下载导入配置呢?首先在一个正常连接互联网的电脑上,配置与离线电脑相同的环境,最重要的是Python版本要保持一致。然后确定你需要的依赖项,一般会有一个requirements.txt文件,例如下图mmdetection压缩保重的依赖文件。然后 c
2022-04-26 16:26:02 1311
原创 python-GDAL之空间数据处理-自带工具集
GDAL自带了很多实用方便的工具,方便大家直接使用。它把这些功能封装了一些基本的空间数据处理功能,包括栅格处理、矢量处理、地理网络处理。有的封装成exe文件,有的以py文件的形式展现给大家,大家不仅可以拿来使用,还可以学习它的源代码。这些工具放在安装目录下\Lib\site-packages\osgeo下。 具体每一个功能的具体文档可以在GDAL的文档中找到。所有的工具主要分为4类,二维栅格处理、多维栅格处理、矢量处理、地理网络处理。这里我对这些工具做了核实和整理(我的版本GDAL3.0)(
2021-11-16 10:31:01 11912 1
原创 unet代码实践
最近看了一下uNet的代码,发现了一些问题,再次记录一下,供大家参考和学习。1)网上的代码有一些在网络输入位置为inputs=((C,w,h)),但是你在运行的过程中会报一些Tensor的尺寸存在问题的错误,这是因为别人的代码是使用了Channel_first,而你的后端的通道格式是Channel_last,所以会出现尺寸问题,这里请大家注意。怎么改,大家网上搜一下,无非就是,要么你把你的通道文件改成Channel_first的形式,要么你就把代码改了就可以了。2)有的代码在网络的特征拼接位置和原始的论
2021-01-11 09:33:55 2962 1
原创 遥感影像深度学习样本制作
对于遥感同学,在学习深度学习时,第一步就要解决遥感数据样本的制作,遥感影像数据的样本根据不同的应用也有所不同,不知道的同学可以去看视频:遥感深度学习样本制作视频1今天介绍一下如果已经有了遥感影像和对应的类别矢量,如何快速制作影像分割的深度学习样本呢?思路1:矢量转栅格-----》转换后的标签影像同原始影像数据同时裁剪。(1)矢量数据处理:需要在矢量数据中加入像素值字段,用于转换栅格后赋予的像素值。比如林地1,建筑物2等等。不同类别赋予不同的标注值。这时候会有同学问这样的问题?我的矢量是这样的:
2020-10-24 14:35:48 6041 3
原创 C#调用python核心代码,并将python中的输出信息实时显示在c#的界面中
文章目录欢迎使用Markdown编辑器欢迎使用Markdown编辑器最近写代码想用python写核心数据处理代码,然而在写界面的时候想用c#来写,现在想通过c#直接调用python的核心处理程序,这里就不讲如何的调用python脚本程序了,有多中方法,网上有很详细的介绍,自己搜。经过我自己的使用,有两种方法比较好用,1、直接调用python脚本,这种方法需要用Python环境,如果你把程序分享给别人,必须要把你的python环境一起打包。2、将python文件打包成exe的形式,这种方法可以用pyins
2020-09-04 17:37:08 2373
原创 遥感深度学习预测过程中接边问题解决
问题的提出:由于深度学习在训练网络模型时,网络的模型大小是固定的,例如512512,256256,在遥感影像预测过程中,如果你直接按照块的大小进行预测,如图所示的预测方法。常常在块与块的接边出出现痕迹,原因就是在边缘区域预测的不够准确。...
2020-04-28 11:20:05 2138 2
原创 numpy数据类型不是截断操作
numpy 的数据类型在数据值超过相应的范围时不是进行截断的,例如用uint8,数值范围0-255,如果你的数据超过255,他不是直接取255,而是根据整体数据进行缩放,缩放到0-255之间的一个数,而gdal中的数据类型是进行截断操作的,超过255的数值就会直接取255。这里再用numpy归一化图像,计算,然后在拉伸到255时,显示的效果有时候不是你想要的结果,有可能的原因是,在拉伸的时候超...
2020-04-25 10:59:54 549
原创 遥感影像制作深度学习样本之多光谱处理
一般现实中的图像都是1通道或3通道,那么这样的图像在制作样本裁剪时可以直接利用opencv或PIL读入进行规则样本裁剪。但是如果你是搞遥感影像,那么很大可能碰到的影像不止是三个通道(波段),可能是4个波段,甚至是6、7个波段。那么对于这样的遥感影像做样本,如果还用opencv等去读取,那么一定会呵呵的。那么对于这样的情况,可以有两种方式去解决。方式一:首先在遥感图像处理软件中进行波段合成处...
2020-03-17 23:58:13 3296 1
原创 dota数据集和标签按照自己的尺寸进行裁剪
交流QQ:3239516597在进行dota数据集使用过程中发现影像尺寸过大,需要按照自己的尺寸同时裁剪影像和标签。这时要考虑到如果标注框在边缘被裁掉了怎么办,可以考虑按照比例来决定是否留下这个标签。同时注意标签的命名规则,可以在原图的名称基础上+裁剪图像序列号。...
2019-11-08 13:51:39 3296
原创 openpyxl之处理xlsx文件
使用openpyXL的方法这里就不多加赘述了,这里记录一下我遇到的问题,问题1:我要打开已有的xlsx文件更改行高等操作,然后在保存。:经过一顿神操作保存后的文件所有边框消失,变成了半截,如下图:简直是惨不忍睹,可是我并没有修改他的边框呀,查了好多解决办法,可能是单元格合并造成的。有一篇博客说更改了openpyxl里面的代码。我屏蔽了代码的位置:C:\Users\Administrator...
2019-10-09 17:57:10 1111
原创 深度学习制作自己的样本
目前,深度学习在遥感领域的应用逐渐开展,然而遥感数据往往幅宽比较大,在具体的应用时,往往需要自己的数据制作训练样本。很多人对这样大的数据如何制作样本感到犯愁,今天就介绍一下如何制造遥感影像的样本。labeme对整张大样本进行标注,labelme的介绍、安装和使用可以参照我的其他博客。这里额外添加一下,在用labelme 标注过程中,如果遇到下面两类在一起这种情况,如何标注?如果分别单独的去标...
2019-05-22 16:19:18 7693 3
原创 一款好用且开源的图像处理软件----imageJ
今天给大家推荐一款好用而且开源的图像处理软件:imageJImageJ是公共领域的开源软件。 ImageJ用户拥有被Richard Stallman在1986年定义的四种基本自由:1、 出于任何目的,自由运行程序。2、 学习程序如何工作的自由,并改变它以使其按照您的意愿行事。3、 重新分发副本的自由,以便您可以帮助您的邻居4、 自由改进计划,并向公众发布改进,使整个社区受益“Image...
2019-05-21 18:08:55 7026
原创 Mask RCNN随笔
1、如果上一次训练中断,想接着上一次的权重继续训练,需要改写train中的代码。如下图:改写其中的变量init_with=““last””,下次训练时会接着上一次的epoch继续训练。2、mask rcnn中的训练的函数定义:def train(self, train_dataset, val_dataset, learning_rate, epochs, layers,augmenta...
2019-05-18 21:21:24 1129
原创 pyinstaller打包tensorflow代码
打包过程中遇到的问题1、pyinstaller打包python的程序,遇到的问题:pyinstaller3.5 打包 WARNING: Cannot read QLibraryInfo… json.decoder.JSONDecodeError。无奈,网上也没有解决方案,可能是我的环境配置出现问题,把整个tensorflow虚拟环境删除,重新安装。然后重新安装pyinstaller,然后打包成功...
2019-05-06 21:00:26 4150 5
原创 numpy统计图像中某个像素值的个数
今天用想用分类后的图像,统计其中不同类别像素数,也就是图像上有红红绿绿的像素,统计其中红色的像素个数,绿色的像素个数等等,直观的想法是遍历图像的每一个像素,然后一个一个计数,然而我要用python去做,这样python去循环遍历是很慢的,而且如果图像很大,那么耗时是不能被接受的,所以想到python的矩阵操作应该可以解决这个问题。1、参考了numpy的布尔索引: 用布尔索引找到像素值为红色,或...
2019-04-29 13:36:45 17654 6
原创 keras权重文件加载报错
今天在用keras加载权重文件model=loadmodel()时报了一个莫名其妙的错误,不知道为啥?错误如下,if 'class_name' not in config[0] or config[0]['class_name'] == 'Merge':,不知怎么解决,中午回家发现家里的电脑不会出现这个问题,为什么在单位会出现这个问题呢?于是想到可能是keras版本的问题,单位电脑ke...
2019-04-27 13:56:53 2531 1
原创 组装深度学习机器 +RTX2070 + tensorflow1.13 +cuda10
由于自己开始搞深度学习的东西,搞这个肯定是要烧硬件的,单位虽然有服务器,但是机器都是内部网络,而且说道很多,对于自己学习来说,实在是很不方便,于是自己准备入手一个机器,在网上看了看品牌机,惊讶的发现作为一个上班族来说实在是买不起,中等配置还要10000+,于是衡量了一下,准备自己组装一台机器。首先确定了自己的预算:10000-,在网上看了一些关于深度学习机器配置的帖子,然后根据最近英伟达显卡的发展...
2019-04-14 22:32:57 8138 6
原创 DOTA目标检测数据集
Dota开源目标检测数据集 DOTA-v1.5包含16个类别中的40万个带注释的对象实例,这是DOTA-v1.0的更新版本,它们都使用相同的航拍图像,但是DOTA-v1.5修改并更新了对象的注释,其中许多在DOTA-v1.0中丢失的10像素以下的小对象实例已被另外注释,DOTA-v1.5的类别也得到了扩展。具体地说,增加了集装箱起重机的类别。与DOTA-v.1.0一致,DOTA-v1...
2019-04-11 09:57:06 24375 11
原创 离线配置tensorflow环境
交流QQ:1049974028最近项目需要在离线的环境下配置TensorFlow环境,在配置过程中遇到了各种问题,再此记录下来,分享给需要的有缘人。有网的环境在此忽略。下面就介绍具体步骤:1、安装anoconda3.5。2、安装cuda和cuDNN,这里的安装步骤就不在赘述,可以参照我的其他博客。需要注意的是cuda和cuDNN的版本对应。还要注意的是TensorFlow版本和cuda版本的...
2019-04-08 21:22:28 715
原创 arcgis坐标转换
2000到80坐标转换原始数据:甲方给的是2000大地坐标系(经纬度坐标系)的八个点经纬度,要求转到80坐标系下,并量测构成面的面积。可利用资料:1万或5万的国家标准格网改正数(80-2000),改正数可以根据图幅号来确定。改正步骤:1、根据甲方所给经纬度坐标找到,目标区域的大致位置,确定所在的1万或5万的图幅号。2、把甲方给的点在arcgis中创建一个要素面,首先在arcmap中创建一...
2019-03-30 16:28:41 8366
原创 arcgis获得面对象的面积
arcgis中shp面积的获得:不废话代码如下:IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(filePath, 0);IFeatureWorkspace myFeatureWorkspa...
2019-03-29 14:41:33 1527
原创 缺少dll库
将自己的程序移至到其他人的电脑是容易出现缺少巴拉巴拉巴拉一堆的库,直接去度娘下载相应的dll库就可以了。下面是我遇到的缺少库ucrtbased.dll和api-ms-win-downlevel-shlwapi-l1-1-0.dll。...
2019-03-23 17:12:49 430
原创 yolo V3参数介绍
yolo v3的相关参数介绍,大部分也是参照他人的成果,这里保存一下,以后方便自己查看,也为大家提供一点参考[net]# Testingbatch=1subdivisions=1# Training# batch=64 #每一批训练样本的样本数量,每batch个样本更新一次参数,如果内存不够大,将batch分割为subdivisions个子batch# subdivisions=16...
2019-03-14 16:18:35 3349
原创 标注工具之labelme和labelimg
深度学习的标注工具有很多,这里只介绍labelme和labelimg这两个,这两个工具刚一听起来很像,是的确实很像,但是还是稍有不同。1、labelimglabelimg是目标检测的标注工具,这里只说windows版本,下载地址:https://github.com/tzutalin/labelImg. 他是采用Python语言编写的,界面用Qt。首先就是安装pyqt,进入安装包的文件夹内,...
2019-03-14 16:06:10 16959 10
原创 try....except.....else用法
python里有这样的一个语法try.....except.....else.....try的语句块内执行可能会出错的试探性语句,即这里面的语句是可以导致致命性错误except的语句块是出现错误如何处理的语句,当try中出现异常就执行这里的语句块else的语句块是当try中没有任何异常时,继续执行这里的代码。代码的详解可以参照博客https://blog.csdn.net/Nich...
2019-03-06 21:46:27 665
原创 opencv之扩展模块安装
今天安装opencv4.0后,需要用到opencv中的快速导向滤波,发现opencv的标准安装中并没有这个模块的功能,原来他是在opencv的扩展模块当中。进入opencv官网,可以看到两个模块,如图下图,扩展模块是需要单独下载,自己编译配置的。下载地址:https://github.com/opencv/opencv_contrib,另外后续会用到CMAKE编译,所以要下载cmake: http...
2019-01-28 15:10:49 1468
原创 Mask RCNN Demo之遇到的问题及解决方案
Mask RCNN的代码已经有大神在gitHub上公布,而且facebook官方也已经公布了源码。我这里用的是github上的基于tensorflow和keras的Mask RCNN。网址:[添加链接描述](https://github.com/matterport/Mask_RCNN) 下面就说一说在跑第一个简单的Demo时遇到的问题,供大家参考。首先是tensorflow+ke...
2019-01-07 22:53:30 4015 16
原创 第三章平面坐标之独立坐标系
实际测量中,长度的变形主要由两个原因产生:(1)高程引起的长度变形,即实际测量长度归算到参考椭球面(计算长度是以参考椭球面为基准面,实际测量以水准面为基准面)(2)由高斯投影引起的长度变形,即参考椭球投影到高斯平面引起的长度变形。建立独立坐标系就是为了减小长度变形,明确了这两个变形的原因后,就知道如何建立独立坐标系了,要么改变中央子午线减少高斯投影变形,要么改变投影面,减少高程引起的长度变形,...
2018-12-21 14:37:57 5631
原创 第三章平面坐标系之地图投影
1、地图投影:是按照一定的数学法则把地球表面的经、纬线转到平面上的理论和方法。建立起地球表面点到投影平面点之间一一对应的关系。由于地球的形状,投到平面上一定会产生变形,不同的投影方法投影变形也不相同。地球上一点的经纬度坐标是惟一的,这一点所对应的平面坐标可能有多个,国家标准分带3°带,6°带,独立坐标系等下的坐标可能不同。(1)(2)(3)2、高斯-克吕格投影鼎鼎大名的高斯大家应该并不...
2018-12-19 17:06:32 1388
原创 第二章高程系统
首先说一下高程基准面,有三个基准面:参考椭球、大地水准面、似大地水准面。三个不同的基准面确定了三个不同的高程系统。 大地水准面:试想一下地球上的水向大陆延伸形成的一个水准面,但是由于会受到潮汐等因素的影响,因此人们通常采用平均的水准面代替。目前尚不能精确测定大地水准面。 似大地水准面:是苏联学者莫洛金斯研究出的,与大地水准面非常接近的一个面。 参考椭球面:这个具体的...
2018-12-16 13:29:48 5910
原创 第一章坐标转换之坐标转换概述2
这节我们从宏观上介绍一下坐标转换。上节我们介绍了坐标分为静态坐标和动态坐标,静态坐标可以理解为我们常说的参心坐标,动态坐标可以理解为地心坐标。1、静态坐标转换:两组静态坐标之间无非就是旋转、平移、和缩放。因此可以用同名点和转换模型进行区域坐标的转换。常用的典型转换模型有布尔沙七参数转换模型、二维七参数转换模型等等。总之利用两个坐标系下的同名点坐标求解模型的参数,然后利用模型参数求解这个区域的其他...
2018-12-15 16:22:58 1124
原创 第一章坐标转换之坐标转换概述
最近接触到一些坐标转换的项目,其实之前也总接触到坐标转换的项目,但是由于我办公室有一个坐标转换大神,不会了就去问他,他都会细心解答,人非常的nice。最近回想起来,发现不能总依赖于别人,自己得把大学的知识总结和回顾一下,至少做到心中有数,不能给大学老师丢脸呀,遂准备写一写关于大地坐标转换的知识,与诸君共勉。...
2018-12-15 10:24:16 1533 1
转载 基于深度学习的遥感图像分类总概
博客转载自:https://blog.csdn.net/qq_40116035/article/details/81414835传统的分类方法分两种:监督分类和非监督分类。监督分类要求对所要分类的地区必须要有先验的类别知识,即先要从所研究地区中选择出所有要区分的各类地物的训练区,用于建立判别函数。常用的监督分类方法有:K近邻法、马氏距离分类、最大似然法等方法。监督分类方法主要有:均值、方法等。研...
2018-12-12 14:33:00 7992 2
原创 matlab的边界填充(padarray)opencv的边界填充(cvCopyMakeBorder)
matlab的边界填充(padarray)和opencv的边界填充(cvCopyMakeBorder)首先,先说一下opencv中的cvCopyMakeBorder()函数:cvCopyMakeBorder(src,dst,cvPoint(m,n),bodertype,value)cvPoint(m,n):的意思是以src(即原矩阵)的左上角点为坐标原点,dst(即目标矩阵)相对于src的左...
2018-12-11 08:25:28 6209 1
原创 matlab中的中值滤波medfilt2()和opencv中的中值滤波medianblur()是不同的
matlab中的中值滤波medfilt2()和opencv中的中值滤波medianblur()做出的结果不同,如图所示:Opencv处理结果如下:Matlab处理结果如下:Opencv处理过程中的程序代码:float aa[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };CvMat temp = cvMat(...
2018-12-10 18:13:24 2294 2
原创 用opencv模仿matlab中的fspecial()函数创建一个自定义空间高斯滤波器模板
模仿matlab里的fspecial()函数,创建一个自定义空间高斯滤波器模板。基本原理:二维高斯核函数的基本形式是这样滴:通常我们的坐标都是x和y整数,要产生一个3x3的滤波器,我们要以中心为基础取样,这样第一个值为(-1,-1),以后依次排序到(1,1)。这样就可以产生一个mxn的滤波器模板了。基于opencv的程序如下:CvMatguss(int size,float sigma)...
2018-12-10 15:26:22 1582 1
原创 opencv实现matlab的median()函数
总结一下之前在做项目时需要用到把matlab的一些代码转换成c/C++代码,下面是实现matlab中的median()函数的代码,供大家借鉴。matlab中median()函数的实现。int cmp(const void a, const void b)//排序函数,{return (float )a>(float)b ? 1 : -1;}///////////int medi...
2018-12-10 14:45:57 762
api-ms-win-downlevel-shlwapi-l1-1-0.dll
2019-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人