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

news2024/9/17 8:40:59

         

什么是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 R5

toggleVal = 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 toggleVal
    GPIO.write(MX_PIN, toggleVal)
""")

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

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

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

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

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

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

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

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

相关文章

spring源码 循环依赖

spring框架两大核心:IOC和AOP IOC(Inverse of Control)控制反转 将对象的创建权交给 Spring 容器去创建,利用了工厂模式将对象交给容器管理,只需要在spring配置文件中配置相应的bean,以及设置相关的属性,让spring容器…

社区养老服务小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,服务人员管理,服务产品管理,服务预约管理,服务状态管理,服务退订管理,活动管理,视频管理 微信端账号功能包…

单线程 和多线程区别,看打印输出1000个数字效果

执⾏过程: 加载func() -> 执⾏main -> 创建⼦线程t -> ⼦线程t启动 -> 执⾏func中的内容 |-> 继续执⾏main from threading import Thread #此线程不用安装自带。T是大写注意哟 def func():for i in range(1000):print(func,i) #定义一个函数打印 if __name__ …

因子分析★★★★★

该博客为个人学习清风建模的学习笔记,代码全部摘自清风老师,部分课程可以在B站:【强烈推荐】清风:数学建模算法、编程和写作培训的视频课程以及Matlab等软件教学_哔哩哔哩_bilibili 该博文可以与主成分分析一起看,博主…

Microsoft Print To PDF如何打印到网络地址

正常情况下,Microsoft Print To PDF是仅提供本地PDF打印功能的。不过还是可以通过配置,打印到网络地址。 这里需要用到文件共享功能 假设我们要使用Microsoft Print To PDF从A电脑打印到B电脑的D:\output文件夹。操作方法如下 1、打开D:\output文件夹属…

结合Java代码实现RocketMQ的生产与消费消息

前言 在前面的文章中,已经详细介绍并使用到了消息生产者,消息消费者,broker等集群相关的知识,这篇文章介绍一下其他的小组件以及使用Java代码实现生产者对消息的生成,消费者消费消息等知识点。 希望这篇文章能帮助到…

【信创】samba的命令行使用 _ 统信 _ 麒麟 _ 中科方德

原文链接:【信创】samba的命令行使用 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇关于在信创终端操作系统上使用Samba命令操作的文章。Samba是一种用于实现文件和打印共享的免费软件,它允许不同操作系统&#xf…

《昇思25天学习打卡营第27天》

今天我们继续Diffusion扩散模型的后半部分学习 条件U-Net 网络构建过程如下: 首先,将卷积层应用于噪声图像批上,并计算噪声水平的位置 接下来,应用一系列下采样级。每个下采样阶段由2个ResNet/ConvNeXT块 groupnorm attentio…

JAVA(IO流-字符流)day 7.30

ok了家人们今天继续学习IO流, 一.字符集 使用字节流输出中文可能有乱码。 因为每次读取的字节没有完全读取一个字的字节。 二.字符流 2.1 字符输出流【Writer】(抽象类) Writer是所有字符流的超类(父类) 字符输出…

蚓链数字化营销系统:“爆省”!“爆赚”!“爆值”!“爆快”!“爆增”!“爆享”!

随着信息技术的飞速发展和消费者行为的深刻变化,数字化营销已成为企业在市场竞争中取得优势的关键手段。蚓链数字化营销系统凭借其创新的功能和策略,为企业带来了一系列“爆”优势! “按效果付费--信息化建设费用爆省”! “按效果…

Win11没有记事本怎么办?更新至win11无法右键新建txt文件?

博主更新至Win11系统后目前用了不到一个月时间,今天突然发现 鼠标右键无法新建txt文件 了,一开始还以为Win11系统不支持txt类型文件,遂查找各种网上恢复教程。本文综合了多篇教程的方法,力求一文解决所有可能出现的情况&#xff0…

网络安全是什么?怎么入门网络安全?

一、网络安全的定义 网络安全,简单来说,就是保护网络系统中的硬件、软件以及其中的数据不因偶然或恶意的原因而遭到破坏、更改、泄露,保障系统连续可靠正常地运行,网络服务不中断。 随着信息技术的飞速发展,网络安全的…

JAVA基础 - 网络编程

目录 一. 网络基础 BS(Browser/Server,浏览器/服务器架构) CS(Client/Server,客户端/服务器架构) 二. TCP Socket通信 三. Socket类 四. 聊天实例 五. UDP Socket 六. 数据交换格式 一. 网络基础 网…

力反馈设备在远程机器人遥操作中的应用实例

随着科技的飞速发展,力反馈设备在远程机器人遥操作中的应用日益广泛,极大地提升了操作的精确性和安全性。其中,Haption Virtuose 6D力反馈设备以其卓越的性能成为该领域的佼佼者。 Haption Virtuose 6D力反馈设备医疗遥操作应用 在医疗领域&a…

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

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

谷粒商城实战笔记-92~96-商品发布和查询

文章目录 Spu列表检索接口。Sku列表检索接口。仓库列表接口。问题记录 这一篇包含如下内容: 92-商品服务-API-新增商品-商品保存其他问题处理93-商品服务-API-商品管理-SPU检索94-商品服务-API-商品管理-SKU检索95-仓储服务-API-仓库管理-整合ware服务&获取仓库…

【云原生】Kubernetes中的定时任务CronJob的详细用法与企业级应用案例分享

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

皮尔逊(Person)相关系数

目录 一、总体和样本 二、总体皮尔逊相关系数 三、样本皮尔逊相关系数 四、皮尔逊相关系数的理解误区 五、总结 六、相关系数大小的解释(并不严格) 七、皮尔逊相关系数的计算 一、总体和样本 二、总体皮尔逊相关系数 三、样本皮尔逊相关系数 四、…

Java并发之ThreadLocal

1. 简介 ThreadLocal是 Java 中提供的一种用于实现线程局部变量的工具类。它允许每个线程都拥有自己的独立副本,从而实现线程隔离,用于解决多线程中共享对象的线程安全问题。 通常,我们会使用 synchronzed 关键字 或者 lock 来控制线程对临…

iPhone 手机如何查看自己的电话号码?这两种方法都可以

设置应用程序查看 第一种查看自己的电话号码的方法是在设置应用程序中的电话选项中查看当前手机的电话号码,下面是具体的操作步骤: 首先我们先打开设置应用程序,然后往下滑动找到电话选项,点击进入。 然后就可以看见界面中有“本…