Giter VIP home page Giter VIP logo

stephensamonte / opencv-leaf-angle-distribution-detection Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 54.14 MB

The goal is to measure Rice Plant Leaf Angle Distribution using images. Given an image of a Rice Plant this will located Rice Plant leaves and determined its leaf angle distribution. Leaf Angle Distribution is imporatant as more erect leaves allow the leaves below to have more sunlight which affects the photosynthesis process. The end goal program is either a Web Applicaiton where images of plants could be uploaded that will return the Leaf Angle Distribution.

Python 100.00%
opencv python leaf-angle-distribution rice-plant

opencv-leaf-angle-distribution-detection's Introduction

OpenCV Leaf Angle Distribution Detection

The goal is to measure Rice Plant Leaf Angle Distribution using images. Given an image of a Rice Plant this will located Rice Plant leaves and determined its leaf angle distribution. Leaf Angle Distribution is imporatant as more erect leaves allow the leaves below to have more sunlight which affects the photosynthesis process. The end goal program is either a Web Applicaiton where images of plants could be uploaded that will return the Leaf Angle Distribution.

Additional features and data regarding the rice plant may be added in the future.

Terminal Output: alt text

Example Result: alt_text

Notes:

  • Currently waiting new image data that is leveled with the ground.

My Experience / Context

This is my 3rd use of OpenCV for a project. My first attempt with OpenCV was a self Driving Remote Contorl Car and my second project with OpenCV was the HumanDetection Python Program.

Programming Environment:

  • This is a python program that is being modified in the Python IDLE terminal. This project utilizes Python OpenCV, and numpy. To run this project you will have to install python, python OpenCV, and numpy.

Installing Python

Installing Python OpenCV

  • To install OpenCV for python follow this: https://pypi.org/project/opencv-python/
  • Verify that you have installed opencv-python by opening a python script shell (IDLE terminal) and runnign the following. IF correctly installed you should see what version of openCV you have installed. Script: >>> import cv2 >>> cv2.version Result: >>> '3.4.5'

Installing Python Numpy

  • To install numpy run pip install numpy in a terminal.
  • Verify that you have numpy installed by opening a python script shell (IDLE terminal) and running the following. If correctly installed you should see what verion of numpy you have installed.: Script: >>> import numpy as np >>> np.verion Result: >>> '1.13.1'

Run the program

  • Open the .py file in the Python IDLE terminal and hit run.

References:

Photo Reference:

Journal

  • 2018.12.30 Programming project was conceptualized by Omar Samonte
  • 2018.12.31 Research on how plant leave angles are measured. I found out that Leaf Angle Distribution is what I am trying to measure and that it is a time consuming process so data on Leaf Angle Distribution is scarce. The current way Leaf Angle Distribution is given to plants is by sight and researcher sound judgement to assign a classification to the plant. This is not quantifiable. I could not find any program that automatically measures leaf angle distribution. Physically there is a tool that researchers use to trace all the leaves of a plant to determing the amount of curve of the leaf. Through photo a researcher has to manually calculate the angles of the leaves to determing the distribution of the angle.
  • 2019.01.01 Research on OpenCV and it's capabilities.
  • 2019.01.01 Improvements to work with test rice plant images online
  • 2019.01.02 Improvemnents to work with real usecase rice plant images. I was given images by Omar Samonte of Rice Plants that he wishes to use the program for. Problems: There's so many things going on in the backgorund. So, I looked into ignoring the background. I added function to filter the image based on the color of the plant. I could train a Tensor Flow Model to mask the plant but it is currently unnecessary.
  • 20199.01.29 Added how to set up Programming environment in README.md

Project:

  • 2018.12.31 Email from Omar: I was wondering if each picture could be converted into line segments, and then the average angle of all line segments can be computed. This average angle would be useful in evaluating the rice that we grow in our field experiments. In rice breeding where we evaluate thousands of different rice rows, we prefer a plant type that has erect leaves and stems because this plant type is more efficient in photosynthesis and it also is less prone to lodging (or plants leaning and falling down)

opencv-leaf-angle-distribution-detection's People

Contributors

stephensamonte avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.