4

I'm currently in the pursue of counting the number of shrimps in a given image. I'm using this test image:
test image

The code I have used so far is the following:

import cv2
import numpy as np
from matplotlib import pyplot as plt

#Load img
path = r'C:\Users\...' #the path to the image
original=cv2.imread(path, cv2.COLOR_BGR2RGB)
img = cv2.imread(path, cv2.IMREAD_GRAYSCALE)

#Hist to proceed with the binarizarion
hist = cv2.calcHist([img],[0],None,[256],[0,256])

#do the threshold
ret,thresh = cv2.threshold(img,60,255,cv2.THRESH_BINARY_INV)

From this point I have tried different morphological transformations such a erode, dilate, open and close but they don't seem to be working and separating the objects as I want.

I've read that I can apply a Watershed transformation so separate touching elements, but I don“t have experience in this (working at this point at the moment).

After that I am planning on using a Simple Blob Detector to count the blobs, I don't know if these steps are correct.

Any help is very welcomed!

Captain Jack Sparrow
  • 971
  • 1
  • 11
  • 28

0 Answers0