Inspiration
Like many others, we struggled to find hobbies during Covid-19, and one thing that I picked up was gardening. However, my plants would often die or dry out even with consistent watering, so we wanted to make a software that could automatically detect the plant species and give information about it.
What it does
PlantHub uses a machine learning software to look at an image and detect what plant it is. It then works with an online database to provide the user with essential information about the plant that was detected.
How we built it
For the hardware-software compatibility we used JavCV to access the camera and detect information about pixels. For the plant detection, we used a combination of the PlantNET API as well as machine learning. For gathering the information and creating the UI, we used a popular online database in tandem with the JavaFX Library.
Challenges we ran into
We ran into several issues while developing this program. For starters, this was our first time working with API's so learning how to communicate with PlantNET was an interesting problem. Eventually we figured it out, but then we ran into the issue of actually accessing our laptops camera in order to take images. To solve this, we used openCV which is built in C++ to activate the camera and take a snapshot.
Accomplishments that we're proud of
Integrating API's, databases, machine learning, hardware, and multi threading all into one project. Even a few months ago, each of these concepts seemed high level and unrealistic to implement with our current knowledge, so we are proud that we have made a working and helpful application that combines each of them.
What we learned
Again, this was our first time actually implementing any of these concepts, so we learned a lot about how each of them work. Additionally, we learned that Java as a language is not built for accessing computer hardware, nor does it easily work with many online API's. In the future, we know to take this into account when designing a project built around hardware.
What's next for PlantHub
PlantHub was conceived as a mobile application, and so our next steps would be to migrate this to AndroidOS. Additionally, we want to add other information to the data output such as location and weather detection so that we can remind the user which plants need to be watered given the current climate.
Log in or sign up for Devpost to join the conversation.