项目简介:
利用python自带的opencv库来计算植物叶片的叶面积、叶直径和叶周长,拍摄图片就可以直接得到真实的叶面积、叶直径和叶周长。
实现方法:
首先,我们需要这样拍摄一张植物的图片,需要一个黑色的底板,一张A4纸,拍摄时需要将植物叶面放平,A4纸的四个直角都需要拍摄进照片中,确保A4纸与底下的黑色卡纸在照片边上有黑边(既是为了方便拍摄,也是为了方便计算):
然后我们的步骤是:
找出照片中的最大轮廓(此时理所当然是我们的A4纸)→进行图像的矫正透视变换将照片的黑边去掉
如何一步到位拿到真实值?
我们知道要想得到真实的叶面积、叶直径和叶周长,需要一些已知长度的东西来作为比例对照物,这里我选择用A4纸来作为现实比例对照物,通过
公式(1):测得植物像素值/植物真实值=测得A4纸像素值/A4真实值
这里面的“测得植物像素值”“测得A4纸像素值”和“A4真实值”我们都知道,那么就可以计算植物真实值。
如何得到植物的真实叶面积?
去黑边照片→找到最大轮廓(理所当然是植物轮廓)→得到轮廓的像素面积→公式(1)计算
如何得到植物的真实叶直径?
去黑边照片→找到最大轮廓(理所当然是植物轮廓)→对该轮廓画圆→得到圆的直径&#x