My teammate and I participated in a hackathon hosted by IBM and the University of Florida (UoF) at the end of 2021. The hackathon was a two month long online event with an emphasis on environmental sustainability. My teammate and I decided to focus on the category of “Florida’s Waterways” and we ended up winning the category!
We used OpenCV and Python to create a program that analyzed labeled satelite images off the coast of Florida. The images came from the National Oceanic and Atmospheric Administration (NOAA) and were labeled with different intensities of algae growth. We analysed the images and quantified the pixel values to then put in a data frame. We then used the data frame to create a graph that showed algae growth and decline over time.
Here is some of the code we used to analyze the images:
# Returns outs which is the image
ret, outs_global = cv2.threshold(src = gray_global, thresh = 0, maxval = 255, type = cv2.THRESH_BINARY_INV)
total_pixel_count = outs_global.size
globalCount = total_pixel_count - cv2.countNonZero(outs_global) # Save global number of algae pixels
# Intense algae mask paramters
lower_intense = np.array([1,0,0])
upper_intense = np.array([33,255,255])
maskIntense = cv2.inRange(hsv, lower_intense, upper_intense)
resIntense = cv2.bitwise_or(bgr_image, bgr_image, mask=maskIntense)
gray_intense = cv2.cvtColor(resIntense, cv2.COLOR_BGR2GRAY)
# Returns outs which is the image
ret, outs_intense = cv2.threshold(src = gray_intense, thresh = 0, maxval = 255, type = cv2.THRESH_BINARY_INV)
In addition to learning more about OpenCV, I became familiar with IBM’s cloud services as well as the NOAA API. There is a lot of interesting public data available if you know where to look! My teammate and I won the $3000 cash prize for our category and were grateful for the opportunity to work on a problem related to climate change.