MATLAB图像处理植物叶片面积计算
MATLAB图像处理植物叶片面积计算
实验名称
基于Matlab图像处理求植物叶片面积
实验目的
1.用matlab测试叶片面积与网格测面积对比,研究可用性。
2.学习用matlab对图像进行背景去除、对比度处理、图像型学处理及中值滤波处理等。
3.学习用matlab计算像素点的比例,利用已知参照物面积计算出要求的叶子面子。
实验原理
实验通过手动网格法测叶子面积与matlab处理计算叶子面积对比,研究matlab测试叶子面积的可用性。
matlab测面积所选择的图片是把植物叶片放置在旁边画有已知面积的小方格作为参照物的白纸上用手机拍取图像。如此即将叶片信息转化为计算机可识别的图像信息。由于数字图像都是由一个个像素点组成。可以根据像素点比例和参照物面积求出植物叶片面积。叶片面积计算公式如下:
实验内容步骤
1、网格测面积
由于用excel做30mm*30mm网格及10mm*10mm小方格打印出来实际面积变为29mm*28mm网格及9mm*9mm小方格(如下两图)故参照物面积为81mm2,网格法测出叶子所占空格490,共有900网格,故叶子面积为442mm2计算如下:
![](/assets/blank.gif)
![](/assets/blank.gif)
2、matlab测面积
(1)通过手机拍照如下保存为leaf..jpg和一张白色背景图background.jpg,通过matlab读取图像。如图1
(2)图像灰度处理
由于手机拍摄的是彩色即rgb格式,为了进行下一步处理,需要先将图像转换为灰度图像。灰度变换是图像增强的一种手段,是图形动态范围加大,对比度扩展,图形更清晰,特征更明显。用rgb2gray函数。处理后如图2
![](/assets/blank.gif)
![](/assets/blank.gif)
图1 图2
- 用差分法进行图像分割
图像差分法用imsubtract函数将一幅输入图像的像素值从另外一幅输入图像相应的像素值中减去,再将相应的像素值之差作为输出图像的对应的像素值。处理图像后可使用imclearborder命令消除图像中的边缘对象。如图3
- 调节对比度
调节对比度imadjust函数可以使原来模糊不清甚至无法辨别的原始图像处理成清晰的富含大量有用信息的可使用图像,有效的去除图像中的噪音、增强图像中的边缘或其他需要的区域,从而更加容易对图像中需要的目标进行检测和测量。处理后如图4
![](/assets/blank.gif)
![](/assets/blank.gif)
图3 图4
- 边缘检测
通过edge函数对图像分别用sobel、robert、prewitt和canny算子方法比较在本实验叶片中canny效果最好。分析如图5
![](/assets/blank.gif)
图5
- 图像型学处理
通过strel和imdilate函数对图像进行膨胀操作,填补边缘缝隙后通过imfill函数对空隙填充,再用菱形结构对图像进行平滑处理。
- 中值滤波处理
中值滤波在衰减噪声同时不会使图像边界模糊,去噪效果依赖2个要素:领域的空间范围和中值计算中涉及的像素数。具体函数medfilt2。
- 标记及面积计算
这个步骤是确定图像中的目标对象并标记。调用bwlabe函数寻找连通成份而且用唯一的数字将他们分类标记。通过ismember函数去除不符合区域,在图片中显示像素数,图6所示。
![](/assets/blank.gif)
图6
实验结果与分析
最终得到图片中两个像素数带入原理中公式,求得叶片面积为438.12mm2:
![](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-0a2fcbf6bcbfc058c90b1ae4405ca8e2_b.jpg)
通过两种测试方法得到的结果误差为442-438.12=3.88mm2可知,matlab测试数据相对准确具有可用性,而且matlab通过几行代码测试可以减少人工费时费力,解决了实际问题。
代码附下
![](/assets/blank.gif)
![](/assets/blank.gif)
MATLAB图像处理植物叶片面积计算相关推荐
- 【叶片识别】基于matlab LBP植物叶片识别【含Matlab源码 1702期】
一.LBP简介(附lunwen) 第一章 引言 植物在我们的身边随处可见,它们从产生发展进化到现在,其间经历了漫长的岁月.地球上的植物种类繁多.数量浩瀚,它们是生物圈的重要组成部分,在维持整个生物界的 ...
- 【Matlab树叶分类】BP神经网络植物叶片分类【含GUI源码 916期】
一.代码运行视频(哔哩哔哩) [Matlab树叶分类]BP神经网络植物叶片分类[含GUI源码 916期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...
- matlab幼苗识别,基于MATLAB的植物幼苗识别
基于MATLAB的植物幼苗识别(论文11000字,外文翻译) 摘要:杂草种类繁多,严重影响了农作物的生产与产量,使用图像处理技术识别区分杂草和作物幼苗已成为一种最科学最有效的方法.通过提取植物图像的有 ...
- matlab图像处理命令(二)
转自:http://blog.163.com/crazyzcs@126/blog/static/1297420502010229104452729/ (非原处) 图像增强 1. 直方图均衡化的 Mat ...
- matlab图像处理命令(一)
转自:http://blog.csdn.net/langyuewu/archive/2009/05/02/4144120.aspx(非原处) 1.applylut 功能: 在二进制图像中利用looku ...
- Atitit MATLAB 图像处理attilax总结
Atitit MATLAB 图像处理attilax总结 1.1. 下载 Matlab7.0官方下载_Matlab2012 v7.0 官方简体中文版-办公软件-系统大全.html1 1.2. Matla ...
- matlab图像处理——平滑滤波
平滑滤波--matlab图像处理 平滑滤波的目的是消除或尽量减少噪声,改善图像的质量.假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰.从信号分析的观点来看,图像 ...
- matlab图像相加例子,MATLAB图像处理例子
MATLAB图像处理例子 clc;clear all;close all; a = imread( railway_05.jpg ); b = rgb2gray(a); c = im2bw(b,240 ...
- Matlab图像处理创新实践-实验4【综合设计大实验——GUI综合设计】
Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...
- Matlab图像处理创新实践-实验3【图像锐化】
Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...
最新文章
- php sendmail方法,PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
- Nginx学习2:Nginx的安装配置和常用命令
- 学习java技术有前途吗
- 机器学习:Python中如何使用最小二乘法
- 重磅:Elasticsearch上市!市值近50亿美元
- vim——打开多个文件、同时显示多个文件、在文件之间切换
- 定时器工作原理及初值快速计算
- 找工作这几天遇到的骗人套路
- 指定版本的python运行和指定python版本的pip
- zookeeper环境搭建以及测试
- FireBug实用指南
- websocket 压力测试_打造最强移动测试平台
- 对话诺奖得主:科学离不开国际合作
- IT公司老板落水,各部门员工怎么救??
- JAVA移慎_java里面给对象赋值,慎用赋值符号(=) (转)
- semaphore性能问题_SQL Server性能调整– RESOURCE_SEMAPHORE等待
- 查询相关股票十档行情的方法
- cv::cornerSubPix()亚像素角点检测
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_10-webpack研究-安装nodejs
- cad画钟表_coreldraw怎么画钟表?coreldraw画钟表教程