新年第二更。

很长时间前就想总结一下用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学习笔记(图像分割)的更多相关文章

  1. scikit-learn学习笔记-bili莫烦

    bilibili莫烦scikit-learn视频学习笔记 1.使用KNN对iris数据分类 from sklearn import datasets from sklearn.model_select ...

  2. NuGet学习笔记3——搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

  3. NuGet学习笔记(3) 搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

  4. Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务

      1. 添加service:     2.调用WCF BasicHttpBinding myBinding = new BasicHttpBinding(); myBinding.Name = &q ...

  5. Dynamic CRM 2013学习笔记(十)客户端几种查询数据方式比较

    我们经常要在客户端进行数据查询,下面分别比较常用的几种查询方式:XMLHttpRequest, SDK.JQuery, SDK.Rest. XMLHttpRequest是最基本的调用方式,JQuery ...

  6. Dynamic CRM 2013学习笔记(二十五)JS调用web service 实现多条记录复制(克隆)功能

    前面介绍过如何克隆一条当前的记录: Dynamic CRM 2013学习笔记(十四)复制/克隆记录 , 主要是通过界面上加一个字段,单击form上的clone 按钮时,改变这个字段的值以触发插件来实现 ...

  7. Dynamic CRM 2013学习笔记(四十六)简单审批流的实现

    前面介绍过自定义审批流: Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示 Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮 Dynamic ...

  8. Dynamic CRM 2013学习笔记(三十八)流程1 - 操作(action)开发与配置详解

    CRM 2013 里流程有4个类别:操作(action).业务流程(business process flow).对话(dialog)和工作流(workflow).它们都是从 setting –> ...

  9. Dynamic CRM 2013学习笔记(四十三)流程6 - 自定义流程活动

    当我们在流程里添加步骤时,有一些默认的步骤,像创建.更新.发邮件等,但如果你想加一个里面没有的步骤,比如发SMS消息,或者调用一个外部的web service,怎么办?这时就只能自定义一个流程活动了. ...

随机推荐

  1. static和final关键字

    static关键字 静态变量 静态变量:又称做类变量,也就是这个变量属于整个类,而不属于单个实例.类所有的实例共享静态变量,可以直接通过类名来访问它.静态变量在内存中只存在一份,当系统第一次加载类时, ...

  2. 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第五节:数据流处理的那些事儿

    为什么说到数据流了呢,因为上一节中介绍了一下异步发送请求.同样,在数据流的处理上,C#也为我们提供几个有用的异步处理方法.而且,爬虫这生物,处理数据流是基础本能,比较重要.本着这个原则,就聊一聊吧. ...

  3. CountDownLatch,CyclicBarrier,Semaphore用法

    1.让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒. 2.CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞.其它线程调用countDown方法会 ...

  4. 如何使用F4的IRAM2内存

    在使用KEIL做F4的项目的时候发现RAM区有片上IRAM2选项,查了datesheet后发现这块是CCM内存区 CCM内存是在地址0x1000000映射的64KB块,只提供CPU通过数据D总线进行访 ...

  5. kaggle竞赛分享:NFL大数据碗(上篇)

    kaggle竞赛分享:NFL大数据碗 - 上 竞赛简介 一年一度的NFL大数据碗,今年的预测目标是通过两队球员的静态数据,预测该次进攻推进的码数,并转换为该概率分布: 竞赛链接 https://www ...

  6. Oracle GoldenGate Best Practices: Active-Active Configuration with DML Auto CDR

    Executive Overview This document is an introduction to Oracle GoldenGate (DIPC remote agent)’s best ...

  7. SpringMVC简单使用教程

    一.SpringMVC简单入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...

  8. 美食家App开发日记2

    操作Android内置数据库失败...由于个人愚钝,按照书上所讲,一步一步写,中间出了一系列问题,有些功能在网上查了很多解决方案仍无法解决,导致无法使用. 感觉Android操作很难...

  9. 个人任务Day3

    昨日成果: 学习有关java的网络爬虫知识. 今日任务: 向数据库中完善数据,并写出选择查看团队博客的界面.

  10. python + selenium定位页面元素的办法

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...