{"id":20892298,"url":"https://github.com/johnbigeon/plantacolor","last_synced_at":"2026-04-17T03:31:11.296Z","repository":{"id":263268658,"uuid":"889416219","full_name":"JohnBigeon/PlantaColor","owner":"JohnBigeon","description":"Monitor plant health in real time via remote sensing","archived":false,"fork":false,"pushed_at":"2024-11-17T12:19:33.000Z","size":3997,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-19T11:43:10.402Z","etag":null,"topics":["micropython","python","remotesensing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JohnBigeon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-16T10:23:20.000Z","updated_at":"2024-11-17T12:19:37.000Z","dependencies_parsed_at":"2024-11-17T13:25:52.951Z","dependency_job_id":"784c5928-4c64-43ec-93ee-bd90d8740746","html_url":"https://github.com/JohnBigeon/PlantaColor","commit_stats":null,"previous_names":["johnbigeon/plantacolor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnBigeon%2FPlantaColor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnBigeon%2FPlantaColor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnBigeon%2FPlantaColor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnBigeon%2FPlantaColor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohnBigeon","download_url":"https://codeload.github.com/JohnBigeon/PlantaColor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243277503,"owners_count":20265352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["micropython","python","remotesensing"],"created_at":"2024-11-18T10:11:44.882Z","updated_at":"2025-12-29T03:48:54.952Z","avatar_url":"https://github.com/JohnBigeon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plantacolor\n\n\n## Concept\nThis project aims to perform remote sensing to identify healthy vegetation via reflectance measurement. \nVia a rgb led strip, the plant is illimunated sequencially to avoid shadows, and a webcam records the reflectance.\nHealthy vegetation absorbs red and blue light for photosynthesis.\nIn future development, the approach will be to explore the measurement of the Normalized Difference Vegetation Index (NDVI):\n\n```\nNDVI = (NIR - RED) / (NIR + RED)\n```\n\nWhere a healty/stressed plant returns respectively +1/-1.\n\n\n## Design\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"CAD/plantacolor_design_v01.png\" alt=\"CAD design.\" width=\"400\" /\u003e\n\u003c/div\u003e\n\n\n## Hardware\n### Components\n- ESP32 microcotroller ESP32-C3 Super mini\n- Webcam Logitech\n- Neopixelring 35 led out/in diameer 96mm, 78mm\n\n### Wiring\n```\nESP32 \u003c---\u003e LED\n5V      -   5V\nGND     -   GND\nDIN     -   GPIO9\n```\n\n## Script\n### ESP32\nThe micropython esp32 script is in charge to control the LED strip. \nIt is actually doing the controller task required by the measurement script.\n\n\n### Measurement\n#### Set up the experiment\nReflectance is here measured via acquisition of the box without plants versus box with plant.\nTo avoid saturation, the exposure time minimal is required to the user.\n\nThe measurement script can be executed via:\n\n```\npython get_img_plantacolor_main.py\n``` \n\n\n### Analysis\nUsing open-cv package, analysis is performed via\n```\npython analysis_plantacolor_main.py\n```\n\n## First results\n### Mimic the leaves\nDuring early phase of this project, reflectance of fake leaves (printed leaves) has been explored.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"Integration/IMG_20241110_124417.jpg\" alt=\"Integration 01 imagery.\" width=\"400\" /\u003e\n  \u003cimg src=\"Integration/IMG_20241110_130046.jpg\" alt=\"Integration 01 samples.\" width=\"400\" /\u003e\n\u003c/div\u003e\n\n\n### Results\nThe reflectance in visible range is displayed below.\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"Results/contour_synthetic.png\" alt=\"Integration 01 imagery.\" height=\"300\" /\u003e\n\u003c/div\u003e\n\nA dip in reflectance in blue spectral range is here observed for green leaves compared to red leaves.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"Results/response_Contour_mean_slice_synthetic.png\" alt=\"Contour mean slice.\" height=\"300\" /\u003e\n  \u003cimg src=\"Results/response_Contour_mean_matrix_synthetic.png\" alt=\"Contour mean heatmap.\" height=\"300\" /\u003e\n\u003c/div\u003e\n\nThen, the surface covered on the FOV by the plant is measured. The average response of this surface is finnaly reported.\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"Results/response_Contour_area_slice_synthetic.png\" alt=\"Contour area slice.\" height=\"300\" /\u003e\n  \u003cimg src=\"Results/response_Contour_area_matrix_synthetic.png\" alt=\"Contour area heatmap.\" height=\"300\" /\u003e\n\u003c/div\u003e\n\n## Roadmap\n### Version 0.0.1: BreadBoard\n- [x] Control esp32 via python to setup the illumination\n- [x] Prototyping via a led strip and colorized paper\n- [x] Test reflectance on fake leaves\n- [ ] Use plotly to export figures and make them interactive\n\n### Version 0.0.2: First prototype\n- [ ] Monitor the water stress response of a real plant \n- [ ] Compare with state of the art\n\n### Version 0.0.3: Add telemetry\n- [ ] Integrate VL53L1X\n\n# Improvement\nAfter validation of the workflow, the Near Infrared light will be integrated.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnbigeon%2Fplantacolor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnbigeon%2Fplantacolor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnbigeon%2Fplantacolor/lists"}