OAK相机扩展NDVI功能检测植物健康情况

         

什么是NDVI?

首先,NDVI代表归一化差异植被指数。这听起来很花哨,但这实际上只是衡量植物健康的一种高级方法。NDVI摄像机使用可见光和近红外 (NIR) 光捕获图像。健康的植物反射更多的近红外光并吸收更多的可见光,而生病的植物反射更少的近红外光。通过比较这些反射,NDVI相机可以确定哪些植被生长旺盛,哪些植物需要看医生了。

NDVI如何工作?

让我们把它分解,不要太令人讨厌。这里的基本思想:

1. 捕获: NDVI摄像机捕获可见光 (我们看到的颜色) 和近红外 (我们看不到) 波长的光。

2. 计算: 相机使用公式计算图像中每个像素的NDVI值。公式为:

visible = cv2.imread('color-image.png')

nir = cv2.imread('nir-image.png')

# Only get red color from the BGR frame

_, _, band_red = cv2.split(visible)

# Allow division by zero

np.seterr(divide='ignore', invalid='ignore')

diff = nir_frame.astype(float) - band_red.astype(float)

sum = nir_frame.astype(float) + band_red.astype(float)

ndvi = np.divide(diff, sum)

3. 可视化 : NDVI值的范围为-1至 + 1,其中较高的值表示较健康的植被。然后将这些值显示在颜色编码的地图中,从而很容易发现健康区域 (通常是绿色) 和生病区域 (通常是红色或黄色)。

NDVI在农业中哪里有用?

NDVI相机就像你的团队里有一个植物低语者。以下是他们如何彻底改变你的耕作方式:

  1. 作物监控: 想象一下,在您的田地上空飞行配备NDVI摄像头的无人机。在几分钟之内,你就有了一张详细的植被生长健康情况分布地图。
  2. 灌溉管理: 水是宝贵的,NDVI可以帮助您明智地使用它。通过识别干旱或过度灌溉的地区,您可以微调灌溉系统,以确保每株植物都能获得适量的水。
  3.  肥料优化: 过度施肥与施肥不足一样糟糕。NDVI相机可帮助您在需要的地方精确施肥,减少浪费并提高作物产量。
  4. 病虫害检测: 及早发现病虫害可以挽救您的农作物。NDVI相机可以在肉眼可见之前发现植物中的虫害区域,以便及时干预。

NDVI相机的硬件

对于NDVI感知,您需要颜色和NIR感知。我将介绍两个选项,它们各有优缺点。

  1. 单传感器,可切换IR过滤器,我们的 [** OAK模块化相机主控 ](https://www.oakchina.cn/product/oak-ffc-4p/) 相当灵活-您可以轻松地将各种相机模块连接到它,并且开箱即用。oak支持的相机模块之一IMX477,选择带有可切换的IR滤镜,也可以在oakchina店铺咨询我们购买到

通过一个小的修改 (将电缆适配器上的FSIN信号焊接到相机上的IR过滤器引脚),我们能够从 [ 脚本节点 ] 控制IR过滤器 (Script — DepthAI documentation | Luxonis) 与GPIO。
因此,如果将GPIO设置为1,则相机将仅看到可见光。如果将GPIO设置为0,则相机将仅看到NIR光谱。当相机不移动时,NIR和可见光的帧无论多远的距离,都是完全对齐的

script = pipeline.create(dai.node.Script)
script.setScript("""
import GPIO
MX_PIN = 40 # OAK-FFC-4P R5toggleVal = True
GPIO.setup(MX_PIN, GPIO.OUT, GPIO.PULL_DOWN)
GPIO.write(MX_PIN, toggleVal)while True:data = node.io['in'].get()node.warn('GPIO toggle: ' + str(toggleVal))toggleVal = not toggleValGPIO.write(MX_PIN, toggleVal)
""")

我们制作了 ** 一个简短的脚本 **,让您切换红外滤镜并保存帧,以便您以后可以分析它们。

用oak相机实现的其他同步方案:

1、方案多传感器方法 :
我们的一些客户也采用了多传感器方法,因此一个传感器用于颜色感知,一个传感器用于NIR感知。这里的好处是传感器可以硬件同步 (通过硬件触发信号实现OAK多相机之间的同步拍摄 -)这意味着即使在相机移动时,您也可以同步NIR和彩色帧。
缺点是这些帧没有完全对齐。/

2、使用相机内置的多相机硬件对齐

另一个选择是使用 [ ImageAlign节点 **](/ image_align/),如果知道深度平面 (到作物的距离),它可以对齐来自两个不同传感器的流。

当然,使用我们的带滤光片程序切换的imx477,是一个简单易于实现的方案。大家如果有项目需求,可以尝试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3280223.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

MSA+抑郁症模型总结(三)(论文复现)

MSA抑郁症模型总结(三)(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 MSA抑郁症模型总结(三)(论文复现)热门研究领域:情感计算的横向发展一、概述二、论…

卷积神经网络(六)---实现 cifar10 分类

cifar10 数据集有60000张图片,每张图片的大小都是 32x32 的三通道的彩色图,一共是10种类别、每种类别有6000张图片,如图4.27所示。 图 4.27 cifar数据集 使用前面讲过的残差结构来处理 cifar10 数据集,可以实现比较高的准确率。 …

springboot在线图库网站-计算机毕业设计源码35597

摘 要 本文基于Spring Boot作为后端框架,Vue作为前端框架,设计并实现了一个功能丰富的在线图库网站。该网站提供了注册、登录、普通用户功能和管理员功能等一系列功能,为用户提供了方便的浏览摄影相关内容和参与活动的途径,同时管…

《从零开始做个摸鱼小网站! · 序》灵感来源

序 大家好呀,我是summo,这次来写写我在上班空闲(摸鱼)的时候做的一个小网站的事。去年阿里云不是推出了个活动嘛,2核2G的云服务器一年只要99块钱,懂行的人应该知道这个价格在业界已经是非常良心了,虽然优惠只有一年&a…

java之学生管理系统优化版本(利用final)

final的意思表示最终的: 被final 修饰的变量叫做常量,而常量的意思就是不可修改的量,也不可以赋值. 被final修饰的方法叫做最终方法,别的类不可以调用. 被fianl修饰的类叫做最终类,别的类不可调用,也不能作为父类继承.public class StudentSysterm {private static final Strin…

【通俗理解】自由能与自由意志的桥梁——从物理到哲学的跨越

【通俗理解】自由能与自由意志的桥梁——从物理到哲学的跨越 自由能与自由意志的类比 你可以把自由能比作一个“能量货币”,它代表着系统能够用来做功的能量。而自由意志则是一个“选择的能力”,它代表着个体在做出决策时的自主性和可能性。 自由能与自由…

校园气象观测站

TH-XQ3校园气象观测站是一种用于进行校园内天气观测和气象数据收集的设施。它通常由一系列的气象仪器和设备组成,包括气温、湿度、风速、风向、气压、降水量等传感器。观测站可以实时监测和记录天气变化,提供有关天气现象和气象数据的信息。 校园气象观…

第09课 Scratch入门篇:小鸡啄米-自制积木实现

小鸡啄米-自制积木 故事背景: 在上一章的案例中,实现了小鸡啄米的动画,但是发现太多的重复代码,是我们编程的时候代码泰国繁琐,我们可以使用自制积木,将相同的代码提取出来制作成一个新的积木,在…

计算机网络-七层协议栈介绍

之前介绍了网络世界的构成,从宏观角度介绍了网络设备和网络架构,链接: link,但是这种认识过于粗糙,过于肤浅。网络本质上是用于主机之间的通信,是端对端的连接通信,两台计算机可能距离很远,主机…

IOday3

一、思维导图 二、模拟面试 结构体中一个char,一个int 结构体占字节长度是多少?描述一下结构体字节对齐规则?怎样改成两字节对其? 答: 8字节; 结构体中每个变量自己先要符合字节对齐原则…

MVC三层框架

什么是MVC : Model模型 view视图 Controller控制器 早先架构: 用户直接访问控制层,控制层就可以直接操作数据库 弊端:程序十分臃肿,不利于维护 servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理…

【从0制作自己的ros导航小车:上位机篇】04、使用gmapping建图

从0制作自己的ros导航小车 前言一、激光雷达数据发布二、激光雷达数据、小车模型、里程计数据同时显示三、键盘控制小车运动四、使用gmapping建图五、地图保存 系列文章: ①【从0制作自己的ros导航小车:介绍及准备】 ②【从0制作自己的ros导航小车&#…

Spring Boot实战权威指南 JavaEE开发的颠覆者(电子版教程)

前言 虽然 Spring Boot 给我们带来了类似于脚本语言开发的效率,但 Spring Boot 里没有使用任何让你意外的技术,完全是一个单纯的基于Spring的应用。如 Spring.Boot 的自动配置是通过Spring 4.x 的Conditional 注解来实现的,所以在学习 Sprin…

(40)温度传感器

文章目录 前言 1 设置 2 记录 3 参数说明 前言 ArduPilot 已经有许多可能的温度报告来源:电调,智能电池,电机 EFI,这些独立的传感器可以用来取代 ArduPilot 中已经存在的那些设备温度报告。它们也可以只是被记录下来。 ArduP…

Eclipse 主网向开发者开放

摘要:Eclipse 基金会宣布,Eclipse 主网已经向开发者开放。在接下来几周的时间里,Eclipse 将邀请开发者在主网上部署项目,并参加黑客马拉松活动——“Total Eclipse Challenge”。 Eclipse 是首个基于以太坊的 SVM Layer2 方案&am…

Java7.0标准之重要特性及用法实例(十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…

关于cacti监控-如何理解cacti统计图表的数据-cacti流量图怎么看及linux下svn常用管理命令及svn忽略文件目录-设置vimdiff来比较差异

一、关于cacti监控-如何理解cacti统计图表的数据-cacti流量图怎么看 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据&…

React 学习——useEffect 清除副作用

清除副作用的函数 最常见的执行时机是在组件卸载时自动执行 import { useEffect, useState } from "react"function Son(){useEffect(()>{const timer setInterval(()>{console.log(定时器);},1000); // 清除副作用return () > {clearInterval(timer)} …

计算机网络—电路、分组、报文交换—图文详解

计算机网络—电路、分组、报文交换 计算机网络中的数据传输方式可以根据数据的处理方式和网络资源的使用方式分为电路交换、分组交换和报文交换三种类型。 这些方式在网络设计和数据传输过程中起到了不同的作用和效果。 1. 电路交换(Circuit Switching&#xff0…

公布一批脸书爬虫(facebook)IP地址,真实采集数据

一、数据来源: 1、这批脸书爬虫(facebook)IP来源于尚贤达猎头公司网站采集数据; ​ 2、数据采集时间段:2023年10月-2024年7月; 3、判断标准:主要根据用户代理是否包含“facebook”和IP核实。…