Sklearn——SVC学习笔记(图像分割)
新年第二更。
很长时间前就想总结一下用SVC来做图像分割的方法了,方法实现了,但是一直没有总结,今天再来回顾一遍。
首先介绍一下。今天要总结的图像分割其实属于像素级分类,其输出是把图像按照不同的类别逐像素的进行分割。这与常规的图片分类(如猫狗分类)这种图像分类是不一样的。
那么对于图像分割,主要有以下几个步骤:
1.首先插入颜色图(十进制)来对最终的分类进行赋值。
colors = ['#000000', '#FFFF00', '#1CE6FF'] #用16进制颜色条分类
2.然后输入数据,应当为样本点的RGB分量值,按列进行叠加concatenate,最后把所有的标签数据按行叠加,axis=0,如下:
lake_RGB = np.array(
[[134,116,78],[133,112,76],[132,111,78],[126,114,78],[131,112,77],
[133,115,78],[134,113,77],[131,111,78],[133,111,79],[130,111,76]]
)
RGB_arr = np.concatenate((lake_RGB,grass_RGB,land_RGB),axis=0)
3.制作标签label,比如0000111112222,按行对应点的顺序进行叠加。
4.训练得到模型后,怎么预测图片呢?首先要把图片reshape成(cols*rows,band)的数据格式。输出后直接得到预测的标签,然后再reshape(rows,cols,band),得到行列形式的图片。这就是输出。
5.最后plt.imshow(predict) 、plt.show() 、plt.imsave()
这里注意plt.imshow()只是对这个数据进行了处理,显示格式;而plt.show()对数据进行了可视化,显示了图片。随后plt.imsave()保存图片。
今后将对遥感图像CNN分割进行研究,学会用pytorch来搭建网络,实现工程。
还有混合像元的分解方向里面的ppi端元纯净度指数方法非常有意思,步骤是段元提取和丰度计算,个人感觉这种非监督分类的方法也是相当有意思。
此外,新的一年,希望GDAL、Pytorch、IDL、C++都能顺利学会吧!
2020/1/1
Sklearn——SVC学习笔记(图像分割)的更多相关文章
- scikit-learn学习笔记-bili莫烦
bilibili莫烦scikit-learn视频学习笔记 1.使用KNN对iris数据分类 from sklearn import datasets from sklearn.model_select ...
- NuGet学习笔记3——搭建属于自己的NuGet服务器
文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...
- NuGet学习笔记(3) 搭建属于自己的NuGet服务器
文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...
- Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务
1. 添加service: 2.调用WCF BasicHttpBinding myBinding = new BasicHttpBinding(); myBinding.Name = &q ...
- Dynamic CRM 2013学习笔记(十)客户端几种查询数据方式比较
我们经常要在客户端进行数据查询,下面分别比较常用的几种查询方式:XMLHttpRequest, SDK.JQuery, SDK.Rest. XMLHttpRequest是最基本的调用方式,JQuery ...
- Dynamic CRM 2013学习笔记(二十五)JS调用web service 实现多条记录复制(克隆)功能
前面介绍过如何克隆一条当前的记录: Dynamic CRM 2013学习笔记(十四)复制/克隆记录 , 主要是通过界面上加一个字段,单击form上的clone 按钮时,改变这个字段的值以触发插件来实现 ...
- Dynamic CRM 2013学习笔记(四十六)简单审批流的实现
前面介绍过自定义审批流: Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示 Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮 Dynamic ...
- Dynamic CRM 2013学习笔记(三十八)流程1 - 操作(action)开发与配置详解
CRM 2013 里流程有4个类别:操作(action).业务流程(business process flow).对话(dialog)和工作流(workflow).它们都是从 setting –> ...
- Dynamic CRM 2013学习笔记(四十三)流程6 - 自定义流程活动
当我们在流程里添加步骤时,有一些默认的步骤,像创建.更新.发邮件等,但如果你想加一个里面没有的步骤,比如发SMS消息,或者调用一个外部的web service,怎么办?这时就只能自定义一个流程活动了. ...
随机推荐
- esri mdb 数据库导入 到postgreSQL
需求: 项目升级,需要将esri的个人数据库(mdb格式)导入到开源数据库postgreSQL中. 思路: 使用fwtools工具导出到数据库中. 环境: windows+fwtools+postgr ...
- VMware显示错误:“未能锁定文件 无法打开磁盘 ..\*.vmdk 或者某一个快照所依赖的磁盘。”解决办法
问题描述: 使用VMware时遇到错误:“未能锁定文件 无法打开磁盘 ..\*.vmdk 或者某一个快照所依赖的磁盘.” 问题出现的原因: 虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚 ...
- cogs 364. [HDU 1548] 奇怪的电梯 Dijkstra
364. [HDU 1548] 奇怪的电梯 ★ 输入文件:lift.in 输出文件:lift.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 呵呵,有一天我做了 ...
- Java 添加、修改、读取、复制、删除Excel批注
本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...
- 异数OS 2017 DPDK 峰会观后感
1.DPDK in Container 使用虚拟网卡设备技术为每一个容器分配一个IP 网卡适配器(queue).容器技术可以解决虚拟机技术中虚拟机过于臃肿,难于热迁移的问题,可能可以代替美团OVS方案 ...
- c语言-输出圆形
#include<stdio.h> #define high 100//定义界面大小 #define wide 100 void Circle(int ridus) //确定坐标 {int ...
- CQBZOJ 邮递员(直播剪枝技巧)
题目描述 Mirko在一个山镇找到了一份邮递员的工作.这个镇可以看作一个N*N的矩形.每个区域可能是以下之一:房子K,邮政局P,草地 '.'.每个区域都有一个海拔. 每天早上,Mirko要送信给镇上所 ...
- GP工作室-团队项目Beta冲刺
GP工作室-团队项目Beta冲刺 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/ 这个作业要求 ...
- 使用Python写的WingPro7 Pyside2 和 PyQt5插件
pyside2的 import wingapi import subprocess pyside2_uic = "pyside2-uic" pyside2_qrc = " ...
- re模块的使用
re模块下的函数 compile(pattern):创建模式对象 import re pat = re.compile('D') m = pat.search('CBA') #等价于re.search ...