基于 OpenCV 的图像识别项目,开发环境的选择

更新日期: 2022-04-12 阅读次数: 3096 字数: 405 分类: 图像识别

朋友想让我实现一个农业相关的麦苗识别功能。我目前想基于 OpenCV 来实现。 但是由于我使用的是 Windows 10 + WSL Ubuntu 的开发机,所以纠结了一下开发环境的选择。

需求

你估计一下吧,不行先识别一个数苗的?

这几个图最先整吧 (麦苗),麦子6月收,产量后面再拍,这个期间慢慢识别

OpenCV 识别绿叶

https://stackoverflow.com/questions/9374747/optimal-approach-for-detecting-leaf-like-shapes-in-opencv

在这个讨论里,发现了一个专门做植物识别的库 PlantCV。是用 python 写的,从依赖里看,也是用到了 OpenCV。

https://plantcv.readthedocs.io/en/stable/tutorials/multi-plant_tutorial/

方案一

直接在 kaggle 中编码,省去 Windows WSL 无法搭建开发环境的问题。 而且 kaggle 中有不少类似的案例代码可以参考。

https://www.kaggle.com/ravirajsinh45/wheat-detection-using-yolo-and-opencv

但也几个疑问:

方案二

在 Windows 中搭建 OpenCV + Python 的开发环境。

方案三

直接在 Android Studio 中引入 OpenCV 的库,在 Android 中开发。 但是,我对 Android 不太熟,加上 OpenCV 也是第一次接触,双管齐下怕是难度翻倍。 不如,先用常见的 Python 接口过一遍基本功能,然后再采用不常见的 Kotlin 实现。

demo 不需要实现拍照功能,先把图片内置或者从相册里获取,能获取图片并进行分析即可。

可以使用这个 demo:

https://github.com/gefilte/compose-photo-integration/tree/step-4-capture-image

在此基础上,引入 OpenCV 即可。

看上去,优先用第一种方案,更节省时间。

效果体验

做了一个在线版的 opencv 图像处理微信小程序,欢迎体验

opencv 图像处理微信小程序

tags: OpenCV PlantCV

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式