自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (16)
  • 收藏
  • 关注

原创 Opencv(七)基于距离变换与分水岭的图像分割

图像分割:图像分割(Image Segmentation)是图像处理最重要的处理手段之一图像分割的目标是将图像中像素根据一定的规则分为若干(N)个cluster集合,每个集合包含一类像素。根据算法分为监督学习方法和无监督学习方法,图像分割的算法多数都是无监督学习方法 - KMeans距离变换与分水岭介绍距离变换常见算法有两种不断膨胀/ 腐蚀得到基于倒角距离分水岭变换常见的算法基于浸泡理论实现cv::distanceTransform(InputArray src, Output

2020-08-24 19:35:36 326

原创 Opencv(六)模板匹配、轮廓检测、轮廓周围绘制矩形框和圆形框

模板匹配介绍模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。所以模板匹配首先需要一个模板图像T(给定的子图像)另外需要一个待检测的图像-源图像S工作方法,在带检测图像上,从左到右,从上向下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大。模板匹配介绍 – 匹配算法介绍OpenCV中提供了六种常见的匹配算法如下:计算平方不同计算相关性计算归一化平方不同计算归一化相关性计算归一化相关系数相关API介绍cv::matchTemplatematchTem

2020-08-24 19:31:10 3092

原创 Opencv(五)霍夫变换、直方图计算及对比

霍夫直线变换介绍Hough Line Transform用来做直线检测前提条件 – 边缘检测已经完成平面空间到极坐标空间转换相关API:标准的霍夫变换 cv::HoughLines从平面坐标转换到霍夫空间,最终输出是 表示极坐标空间霍夫变换直线概率 cv::HoughLinesP最终输出是直角坐标系下直线的两个点坐标cv::HoughLines(InputArray src, // 输入图像,必须8-bit的灰度图像OutputArray lines, // 输

2020-08-23 20:02:10 406

原创 Opencv(四)卷积及边缘检测sobel、laplacian、canny

自定义线性滤波卷积概念:卷积是图像处理中一个操作,是kernel在图像的每个像素上的操作。Kernel本质上一个固定大小的矩阵数组,其中心点称为锚点(anchor point)自定义卷积模糊:filter2D方法filter2D(Mat src, //输入图像Mat dst, // 模糊图像int depth, // 图像深度32/8Mat kernel, // 卷积核/模板Point anchor, // 锚点位置double delta // 计算出来的像素+delta)其中

2020-08-23 15:27:04 466

原创 Opencv(三)图像膨胀腐蚀及采样、基本阈值操作

形态学操作(morphology operators)-膨胀图像形态学操作 – 基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学形态学有四个基本操作:腐蚀、膨胀、开、闭膨胀与腐蚀是图像处理中最常用的形态学操作手段跟卷积操作类似,假设有图像A和结构元素B,结构元素B在A上面移动,其中B定义其中心为锚点,计算B覆盖下A的最大像素值用来替换锚点的像素,其中B作为结构体可以是任意形状形态学操作-腐蚀腐蚀跟膨胀操作的过程类似,唯一不同的是以最小值替换锚点重叠下图像的像素值相关AP

2020-08-22 19:45:25 371

原创 Opencv(二)图像融合、调整图像亮度与对比度、绘制形状与添加文字与图像模糊滤波

线性混合操作相关API (addWeighted):参数1:输入图像Mat – src1参数2:输入图像src1的alpha值参数3:输入图像Mat – src2参数4:输入图像src2的alpha值参数5:gamma值参数6:输出混合图像注意点:两张图像的大小和类型必须一致才可以#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;

2020-08-22 14:51:08 530

原创 Opencv(一)图像操作及Mat对象

加载图像(用cv::imread)imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称第二个参数,表示加载的图像是什么类型,支持常见的三个参数值IMREAD_UNCHANGED (<0) 表示加载原图,不做任何改变IMREAD_GRAYSCALE ( 0)表示把原图作为灰度图像加载进来IMREAD_COLOR (>0) 表示把原图作为RGB图像加载进来注意:OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载显示图像 (cv::namedWin

2020-08-21 20:32:56 334

原创 python 实现字符串翻转,但字符串内的单词不翻转

请实现如下形式的字符串的反转。input: “what is your name.”output: “name. Your is what”def func(s): stack1 = [] ss = s.split(' ') for i in ss: stack1.append(i) stack2 = [] while stack1: stack2.append(stack1[-1]) stack2

2020-06-15 09:49:04 347

原创 排序算法——python实现(更新中)

冒泡排序def bubblesort(alist): for passnum in range(len(alist)-1,0,-1): for i in range(passnum): if alist[i]>alist[i+1]: temp = alist[i] alist[i] = alist[i+1] alist[i+1] = temp选择排序d

2020-06-08 21:47:19 147

原创 利用python、C++实现数据结构(补充ing)

链表: struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; class ListNode: def __init__(self, x): self.val = x self.next = None

2020-05-21 10:20:58 174

原创 C++ 之文件读写操作

程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放通过文件可以将数据持久化C++中对文件操作需要包含头文件 < fstream >文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类:ofstream:写操作ifstream: 读操作fstream : 读写操作1文本文件1.1写文件写文件步骤如下:包含头文件#incl

2020-05-18 10:59:28 134

原创 C++之内存分区模型

C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程1.1 程序运行前​ 在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域​ 代码区:​ 存放 CPU 执行的机器指令​ 代码区是共享

2020-05-18 10:56:30 99

原创 STL- 常用算法(六)常用集合算法

算法简介:set_intersection // 求两个容器的交集set_union // 求两个容器的并集set_difference // 求两个容器的差集1 set_intersection功能描述:求两个容器的交集函数原型:set_intersection(iterator beg1, iterator end1, iterator beg2, iterator end2,

2020-05-18 10:43:42 153

原创 STL- 常用算法(五)常用算术生成算法

注意:算术生成算法属于小型算法,使用时包含的头文件为 #include <numeric>算法简介:accumulate // 计算容器元素累计总和fill // 向容器中添加元素1 accumulate功能描述:计算区间内 容器元素累计总和函数原型:accumulate(iterator beg, iterator end, value);// 计算容器元素累计总和// beg 开始迭代器// end 结

2020-05-18 10:39:12 152

原创 STL- 常用算法(四)常用拷贝和替换算法

算法简介:copy // 容器内指定范围的元素拷贝到另一容器中replace // 将容器内指定范围的旧元素修改为新元素replace_if // 容器内指定范围满足条件的元素替换为新元素swap // 互换两个容器的元素1 copy功能描述:容器内指定范围的元素拷贝到另一容器中函数原型:copy(iterator beg, iterator end

2020-05-18 10:36:33 102

原创 STL- 常用算法(三)排序算法

算法简介:sort //对容器内元素进行排序random_shuffle //洗牌 指定范围内的元素随机调整次序merge // 容器元素合并,并存储到另一容器中reverse // 反转指定范围的元素1 sort功能描述:对容器内元素进行排序函数原型:sort(iterator beg, iterator end, _Pred);// 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置// be

2020-05-15 10:56:06 79

原创 STL- 常用算法(二)查找算法

算法简介:find //查找元素find_if //按条件查找元素adjacent_find //查找相邻重复元素binary_search //二分查找法count //统计元素个数count_if //按条件统计元素个数1 find功能描述:查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()函数原型:find(i

2020-05-15 10:50:38 98

原创 STL- 常用算法(一)遍历算法

概述:算法主要是由头文件<algorithm> <functional> <numeric>组成。<algorithm>是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数<functional>定义了一些模板类,用以声明函数对象。常用遍历算法算法简介:for_each //遍历容器t

2020-05-15 10:42:28 133

原创 STL常用容器(八)map/ multimap容器

map基本概念简介:map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序本质:map/multimap属于关联式容器,底层结构是用二叉树实现。优点:可以根据key值快速找到value值map和multimap区别:map不允许容器中有重复key值元素multimap允许容器中有重复key值元素map构造和赋值功能描述:对map容器进行构造和赋值操作函数原型:构造:

2020-05-14 21:13:15 99

原创 STL常用容器(七)set/ multiset容器

set基本概念简介:所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现。set和multiset区别:set不允许容器中有重复的元素multiset允许容器中有重复的元素set构造和赋值功能描述:创建set容器以及赋值构造:set<T> st; //默认构造函数:set(const set &st); //拷贝构造函数赋值:set&amp

2020-05-13 19:21:43 148

原创 STL常用容器(六)list容器

list基本概念**功能:**将数据进行链式存储链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器list的优点:采用动态存储分配,不会造成内存浪费和溢出链表执行插入和删除操作十分方便,修改指针即可,不需要

2020-05-12 20:38:03 113

原创 STL常用容器(五)queue容器

queue 基本概念概念:Queue是一种先进先出**(First In First Out,FIFO)的数据结构,它有两个出口队列容器允许从一端新增元素,从另一端移除元素队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为队列中进数据称为 — 入队 push队列中出数据称为 — 出队 popqueue 常用接口功能描述:栈容器常用的对外接口构造函数:queue<T> que; //queu

2020-05-12 20:29:45 126

原创 STL常用容器(四)stack容器

stack 基本概念概念:stack是一种先进后出**(First In Last Out,FILO)的数据结构,它只有一个出口栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为 — 入栈 push栈中弹出数据称为 — 出栈 popstack 常用接口功能描述:栈容器常用的对外接口构造函数:stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式st

2020-05-12 20:25:52 86

原创 STL常用容器(三)deque容器

deque容器基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低deque相对而言,对头部的插入删除速度回比vector快vector访问元素时的速度会比deque快,这和两者内部实现有关deque内部工作原理:deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据中...

2020-05-07 22:03:11 115

原创 STL常用容器(二)vector容器

vector基本概念

2020-05-06 21:57:14 101

原创 STL常用容器(一)string容器

string基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char * 区别:char * 是一个指针string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。特点:string 类内部封装了很多成员方法例如:查找find,拷贝copy,删除delete 替换replace,插入insertstri...

2020-04-27 22:08:15 150

原创 C++数据结构之STL 概述

STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程思想,目的就是复用性的提升大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了STLSTL基本概念STL(Standard Template Library,标准模板库)STL 从广义上分为: 容器(container) 算法(algor...

2020-04-27 21:44:19 250

原创 Python批量剪裁,删除指定格式的图片

from PIL import Imageimport os.pathimport numpy as nprootdir = 源文件夹for parent, dirnames, filenames in os.walk(rootdir):#遍历每一张图片 for filename in filenames: #print('parent is :' + paren...

2020-04-23 20:04:16 445

原创 RGB图片转单通道格式的图片

目前已有很多博客介绍了RGB格式的图片转换,主要为三通道的RGB图片转单通道或多通道的RGBA,CMYK,L,P等格式,可以直接用convert函数做转换,这里不再赘述。由于前段时间本人做的语义分割项目中标签需要单通道的图片,并且单通道图片中每个像素依然可以表示为一个类。首先利用python的Image库读入图片:Image.open(path)然后按行列读取像素值,可以利用函数:getpix...

2020-04-23 19:51:12 3880 1

原创 生成对抗网络代码详解(二):cGAN

cGAN的全称为conditional GAN,是条件生成对抗网络,虽然利用GAN就可以学习真实的图片,从而生成一些逼真的图片,但是,生成数据的类别是无法控制的,因此需要某些条件来限制生成的数据,比如标签,因此,用于训练cGAN的数据总是成对的。将数据和标签同时进行训练,当虚假的数据配上任意的标签,质量很差的图片不管标签是什么,或真实的数据配上错误的标签,判别器都需要判定为假,只有当正确的数据配上...

2019-06-14 17:26:11 1049

原创 生成对抗网络代码详解(一):GAN

首先导入必要的模块import torchimport torch.nn as nnimport torch.optim as optimimport torchvisionimport torchvision.transforms as transformsfrom torchvision.utils import save_imageimport os...

2019-06-13 22:22:17 3497

原创 生成对抗网络GAN基础系列(一)

一、背景基本结构:2014年GAN的概念首次提出,上图为GAN的基础模型,z为随机噪声经过生成器G,输出生成数据G(z),真实数据和生成数据分别输入判别器D,判别器需要分辨他们是real还是fake,对于真实数据,判别器给它一个高分,对于生成的fake数据,则是低分。类似于其他的神经网络利用损失函数进行优化网络,gan同样具有目标函数:其核心思想是最大化真实数据输入时函数的值,同时降低fa...

2019-06-13 20:54:46 589

原创 labelme安装及标签制作

一、labelme安装在anaconda prompt中输入命令:conda create --name=labelme python=3.6(python=*选择自己的Python版本)activate labelmeconda install pyqtpip install labelme二、使用安装完成以后使用如下命令启动labelme:activate labelme...

2019-02-03 16:53:21 3913 4

原创 简单处理GPM数据和风云四号卫星数据

上一篇博客介绍了GPM数据和风云四号卫星数据的下载,本篇博客简介一些简单的处理和数据可视化操作。一、GPM数据直接将下载好的文件直接拖入ArcMap中。双击左侧图层下方的precipitatiopnqualityindex或者右键点击打开图层属性,在netcdf中选择IRprecipitation,然后点击符号系统,选择色带,确定。点击插入下方的黑色加号,添加shp矢量文件(此处以西藏地区...

2019-02-01 16:57:44 11619 38

原创 GPM、FY-4A数据下载

一、GPM数据下载打开NASA的官网GPM数据下载地址并登陆,若无账号则需要注册。点击data access再点击左侧的GPM,也可直接点击data access下方的GPM。在data range中选择你所需要的数据起始日期,然后点击spatial bounding box右侧的小地图logo,选择区域,最后search for data sets。勾选subset后,选择subset ...

2019-01-31 16:06:41 6720 6

原创 Tensorflow及Torch框架的安装教程

一、非GPU版本1安装Tensorflow打开cmd,并且输入命令:pip install tensorflow2安装Torch打开Pytorch官网,直接百度搜索即可。进入官网现在安装的是非gpu版本的Torch框架,并没有CUDA加速,因此选择None,其余系统、Python版本等选项根据具体的电脑情况选择。选择好之后,最下方会出现两条命令,依次敲入cmd中。二、GPU版本...

2019-01-30 15:53:53 1431

ML Visuals画图工具模板 dair.ai出品.zip

强大的深度学习机器学习模型画图模板,机器之心等公众号强烈推荐

2021-01-19

main-002.cpp

利用OpenCV读取图像,然后利用像素指针获取各个点的像素值,并对图像进行掩膜处理!!!!!!C++代码

2020-08-21

keras-segmentation.zip

常用的图像分割算法fcn8,fcn32,segnet,unet基于Keras实现!!!!!!!!!!!!!!

2020-06-15

ML-SEGMENT.zip

SVM、RF、GradientBoostingClassifier三种机器学习算法应用于图像分割,python版本实现

2020-06-15

FSVM SEGMENTATION.zip

模糊支持向量机FSVM以及神经网络用于图像分割,MATLAB版本的代码及案例,全部可以正常运行

2020-06-15

深度学习与PyTorch-代码与PPT(全).zip

pytorch入门与实战所有的代码及课件,环境搭建到实战,包含RNN,LSTM GAN等多个章节内容

2020-05-13

1比400万全国基础数据.zip

1比400万全国基础数据,包括地级行政界线、地级市以上居民地、国界,省界,一直五级河流,主要铁路公路等

2020-05-05

generate csv.py

利用python,访问多个文件夹下的文件名,并记录在CSV文件中,且每一个行保存不同文件夹中文件名相同的文件及其相对路径

2020-04-23

L_to_RGB.py

单通道L格式图片转RGB格式

2020-04-23

RGB_to_L.py

三通道的RGB图片批量转成单通道L格式的图片,并且每个像素值表示一个类,主要用于语义分割的标签处理。

2020-04-23

C++ LeetCode刷题班.zip

将算法与数据结构的知识进行精简与归纳,快速掌握相应知识要点。以leetcode.com、codeforces.com中的题目为例题,利用OJ刷题的方式提升编码能力与解决算法面试题的能力。

2020-04-22

深度学习与TensorFlow-代码与PPT.zip

tensorflow2.0教程,涵盖了多种实验教学案例,本文件包含每一个章节的代码以及PPT,内容详细通俗易懂

2020-04-22

风云四号气象卫星glt校正文件.zip

风云四A的glt校正文件,利用此文件可以对气象卫星文件进行校正,是研究气象云图,遥感监测行业的必要文件

2019-12-26

cGAN.py 利用条件GAN生成MNIST手写数字

利用条件GAN生成MNIST手写数字,相对于GAN生成的效果更好

2019-06-14

vanilla_gan.py

使用生成对抗网络生成手写数字,自动下载mnist手写数字数据集

2019-06-13

吴恩达深度学习编程作业所需要的包

吴恩达深度学习编程作业所需要的包,解决自己做编程作业时由于缺乏必要的数据包,导致导入文件报错,显示ModuleNotFoundError: No module named 'init_utils'

2018-10-27

空空如也

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

TA关注的人

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