基于彩色图像的R、G、B三个波段计算植被指数图,然后根据阈值分离土壤和植被。

import cv2
import numpy as npim=cv2.imread('D:/picture.jpg')#提取图像的三个通道
B,G,R=cv2.split(im)#计算植被指数
cive=0.441*R-0.811*G+0.385*B+18.78745
gray=cive.astype('uint8')#大津阈值分割,将土壤像素点变为0,植被像素点为1
ret,th=cv2.threshold(gray,0,1,cv2.THRESH_BINARY+cv2.THRESH_OTSU)#保存分离的结果图
b=B*th
g=G*th
r=R*th
img=cv2.merge([b,g,r])
cv2.imwrite('D:/result.jpg',img)

原始图

结果图

可以自己试试其他的植被指数,看看效果差异


当然还有其他的指数,需要你们自己去找了

参考文献

Kataoka T, Kaneko T, Okamoto H, et al. Crop growth estimation system using machine vision[C]//Ieee/asme International Conference on Advanced Intelligent Mechatronics, 2003. Aim 2003.Proceedings. IEEE, 2003:b1079-b1083 vol.2.

Meyer George E, Neto Joao Camargo. Verification of color vegetation indices for automated crop image applicati0n[J]. Computers and Electronics in Agriculture, 2008(63): 282-293

WOEBBECKE, D. M, MEYER, G. E, et al. Color indices for weed identification under various soil, residue, and lighting conditions. Transactions of the ASAE, Michigan, v. 38, n. 1, p. 259-269, 1995.

python 彩色图像分离植被和土壤相关推荐

  1. Google Earth Engine(GEE) ——多种机器学习方法(随机森林、cart、svm等)进行土地分类(安第斯高原为例)用光谱指数、植被、土壤、雪和烧毁区以及地形指数构建模型

    安第斯高原生态系统在地形多样的地区维持着高水平的花卉和动物生物多样性,并提供各种生态系统服务,包括向城市和下游农业谷地供水.谷歌(™)已经开发了一个专门用于测绘的产品(地球引擎),它使用户能够近乎实时 ...

  2. Python计算温度植被干旱指数(TVDI)

    温度植被干旱指数TVDI(Temperature Vegetation Dryness Index)是一种基于光学与热红外遥感通道数据进行植被覆盖区域表层土壤水分反演的方法. 1.原理 LST-NDV ...

  3. Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets

    封面图片:<Python程序设计(第2版)>,董付国,清华大学出版社 =============== 问题描述: 已知文件"超市营业额2.xlsx"中结构与部分数据如图 ...

  4. 使用Python来分离或者直接抓取pcap抓包文件中的HTTP流

    Python是世界上最好的语言!它使用不可见的制表键作为其语法的一部分! Vim和Emacs的区别在于,它可以帮助乌干达的儿童... 不讨论哲学,不看第一印象,也没有KPI相逼,但是 Python真的 ...

  5. python numpy 分离与合并复数矩阵实部虚部的方法

    在进行数字信号处理的过程中,我们往往有对短时傅里叶变换频谱(spectrogram)进行分析的需求.常见的分析手段对应欧拉公式分为两种,要么使用模与相位的形式,要么使用实部虚部.本文分享一个简单的将复 ...

  6. Python彩色图像卷积特征提取——边缘提取

    一.边缘提取 图像提取边缘是基于像素梯度方法实现的,原理是把图像的灰度看成二维曲面,边缘是曲面的突出部分,利用梯度找到变化最的突变点.要想得到一幅图像的梯度,则要在图像的每个像素点位置进行计算偏导数, ...

  7. python彩色图像如何进行高斯滤波ValueError: correlate2d inputs must both be 2-D arrays解决方法

    文章目录 遇到的问题 解决方法 参考 遇到的问题 在执行高斯滤波的代码时,遇到下列问题 ValueError: correlate2d inputs must both be 2-D arrays 进 ...

  8. Python图像处理(6):分离土壤与植物

    快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 下面尝试分离图片中的土壤与植物,目标是取得绿色植物图像,将土壤背景变为黑色.测试图像: 首先使用2 ...

  9. Python OpenCV 彩色图像与灰度图像的转换

    今天是持续写作的第 41 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 想不到,今天学习的竟然还是彩色图像与灰度图像的转换.经过前面的学习,你们和我一样,有没有掌握 2 种彩色图 ...

最新文章

  1. php 485串口通信,485串口通信中的常见问题
  2. 马斯克笑了!元宇宙是个啥?反正我不信!
  3. 绿色运营,数据中心还得靠自动化
  4. [C++] STACK_Principle
  5. 分布式系统保障—混沌工程—初识
  6. iOS中AutoLayer自动布局流程及相关方法
  7. Windows平台下SVN安装配置及使用
  8. ASP.NET WebForm echarts初试随笔
  9. numpy matrix 矩阵对象
  10. 以mysql为例有几种隔离级别_mysql隔离级别有几种
  11. 深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现
  12. 帝国 loginjs.php,帝国CMS页面JS调用登录状态loginjs.php中获取会员头像的方法
  13. Delaunay三角网之逐点插入法
  14. cpu是计算机硬件中的,电脑硬件CPU介绍
  15. python基于PHP+MySQL的药店药品进销存管理系统
  16. 空间圆弧插补算法,matlab实现封装函数
  17. 解决linux使用yum安装新版JDK时,Java文件夹下没有lib、bin等文件,只有jre的问题
  18. java pdf电子签名_如何使用Java(ItExtAPI)将PDFS合并而不丢失数字签名
  19. 商品发布:SPU与SKU-新增和修改商品-商品审核与上下架-删除与还原商品-商品列表-页面对接
  20. matlab自带的sbs算法,SFS与SBS特征选择算法

热门文章

  1. 什么是高防CDN,高防CDN是如何防御网络攻击的呢?
  2. Java集合框架——一个编程小白的Java SE学习日志11【极客BOY-米奇】
  3. qt开启线程界面假死问题解决
  4. 新西游记——数字连云港带来的震撼、感动和深思
  5. 虚拟ECU:助力汽车故障诊断
  6. HP服务器查看硬件信息命令
  7. 谁说 JavaScript 简单的? – 码农网 http://www.codeceo.com/article/who-said-javascript-was-easy.html
  8. POI Excel 插入新的行,下面的行动态移动
  9. Vue-Router 路由重复点击时报错 Uncaught (in promise) NavigationDuplicated:Avoided redundant navigation to curr
  10. 利用WPN与ROP绕过DEP保护机制