Visão computacional é algo complicado e relativamente limitado. Se voce quiser diferenciar um circulo de um quadrado por exemplo, voce tem que utilizar diversas propriedades geométricas do quadrado e comparar com a imagem e ver quais dessas funcionam para todo e qualquer quadrado ao mesmo tempo que não funcionam para todo e qualquer circulo. Já se voce for diferenciar plantas e folhas que são geometricamente parecidas a coisa fica muito mais complicada, pois voce pode colocar uma folha que acaba se parecendo com outra e o computador se confundir.
Pra fazer o que voce quer, não dá pra usar simplesmente um algoritmo desse tipo, voce precisa utilizar inteligencia artificial para treinar o computador a reconhecer uma planta e ele diferenciar ela de outra usando aprendizado assistido (voce fornece umas 500 imagens e entre elas voce fala: essa é a planta tal, essa não é, essa é, essa também é, essa não é e etc). Aí seu computador aprende a identificar aquele tipo de planta exclusivamente, aí voce tem que repetir o teste para treinar outras plantas, e se certificar que ele não se confunde com o resultado anterior. O caminho já é longo e árduo pra quem entende um pouco de visão computacional e inteligencia artificial, pra que não entende então... Acho que é um trabalho aquem de uma graduação, principalmente se não é da área de computação, ou automação e controle.