基于MATLAB的阔叶树叶片智能识别
来源:互联网 发布:arm体系架构与编程 编辑:程序博客网 时间:2024/04/20 22:10
基于MATLAB的阔叶树叶片智能识别
根据叶片的形状(椭圆长轴短轴比)可以初步判断树种,为智能识别打下基础。本文方法是基于MATLAB的图像处理工具和数值计算功能。
(1)叶片照片的预处理,利用PS去掉背景。
(2)图像处理,彩色图像转灰度图像
MATLAB程序:
clear allInputImage=imread('E:\leaf_2012.jpg'); %读入要处理的图像figure(1)GrayImage=rgb2gray(InputImage);% 将图像转换为灰度图像imshow(GrayImage) % 显示使用matlab自带sobel水平算子得到的图片GrayImage=double(GrayImage); % 把图像变为双精度图像类型[m n]=size(GrayImage); %图像的大小(长和宽)g=zeros(m,n); %定义一个大小为S的空矩阵for i=2:m-1 for j=2:n-1if GrayImage(i-1,j-1)>225 g(i,j)=0; else g(i,j)=255; endendend %边缘像素的操作g(1,:)=0;g(:,1)=0;g(m,:)=0;g(:,n)=0;figure(2)SFImage=uint8(g);% 显示滤波后的图像imshow(SFImage)figure(3)imshow(InputImage)
(3)灰度图转二值图,然后边缘锐化,椭圆方程拟合
MATLAB程序:
TwoImage=im2bw(GrayImage);% 将灰度图像转换为二值图像B=edge(TwoImage);%读取椭圆边界,TwoImage是二值图像C=bwboundaries(B);D=C{1,1};%获得椭圆边界坐标row=length(D);%椭圆边界点的个数,超定方程组的方程个数% 设出圆锥曲线方程F=@(p,x)p(1)*x(:,1).^2+p(2)*x(:,1).*x(:,2)+p(3)*x(:,2).^2+p(4)*x(:,1)+p(5)*x(:,2)+p(6);%椭圆一般方程% 离散数据点Up=xlsread('E:\\Up.xls');%excel文件路径UpX=D(:,1);UpY=D(:,2);% p0系数初值p0=[1 1 1 1 1 1];warning off% 拟合系数,最小二乘方法[p,deta]=nlinfit(Up,zeros(size(Up,1),1),F,p0);plot(UpX,UpY,'r.');hold on;UpMinx=min(UpX);UpMaxx=max(UpX);UpMiny=min(UpY);UpMaxy=max(UpY);% 作图ezplot(@(x,y)F(p,[x,y]),[-1+UpMinx,1+UpMaxx,-1+UpMiny,1+UpMaxy]);title('曲线拟合');legend('样本点','拟合曲线');
(4)根据长轴短轴比判断叶子种类
长轴、短轴计算
MATLAB程序:
p=p./p(6); xc=(p(2)*p(5)-2*p(3)*p(4))/(4*p(1)*p(4)-p(2)^2);%求椭圆中心坐标 yc=(p(2)*p(4)-2*p(1)*p(5))/(4*p(1)*p(4)-p(2)^2);%求椭圆中心坐标 angle=(1/2)*atan(p(2)/(p(1)-p(3)))%求椭圆倾斜角度 a=sqrt(2*(p(1)*xc^2+p(3)*yc^2+p(2)*xc*yc-1)/(p(1)+p(3)+((p(1)-p(3))^2+p(2)^2)^(1/2)))%求椭圆长轴 b=sqrt(2*(p(1)*xc^2+p(3)*yc^2+p(2)*xc*yc-1)/(p(1)+p(3)-((p(1)-p(3))^2+p(2)^2)^(1/2)))%求椭圆短轴 u=(a-b)/a%计算椭圆扁率
0 0
- 基于MATLAB的阔叶树叶片智能识别
- 基于形状和纹理的叶片识别会议记录
- 博主基于Android平台的植物叶片识别系统论文和一些思考
- 基于opencv的叶片锯齿和叶裂检测
- 基于matlab的语音识别系统设计
- 基于matlab的蓝色车牌识别
- 基于RBF简单的matlab手写识别
- 叶片
- 基于智能语音识别的云电视系统设计
- 基于PCA的人脸识别的Matlab实现代码
- 基于MATLAB的人脸识别算法的研究
- 基于matlab的简单人脸识别实例
- 基于Matlab人脸识别的研究进行中~~
- 基于GMM的说话人识别模型(matlab)
- 第13章 基于MATLAB的语音识别系统
- 基于模板匹配的字符识别(Matlab)
- 基于模板匹配的字符识别(Matlab)
- 基于MATLAB的EAN-13条码识别系统
- Android常用英文词汇
- 背包问题讲解
- Snail—UI学习之开关UISwith
- 将客户表中电话字段改成13开头的11位随机数
- iOS各种地图的定位
- 基于MATLAB的阔叶树叶片智能识别
- 备忘录设计模式
- hbase错误集锦
- Linux - info
- 微软推送Win10致全球网络负担增大,中国网友表示毫无压力
- iOS开发UI篇—UITableview控件简单介绍
- 生命苍白无力时候遇到你,即使再难也要亲手绘出五彩生活――读《平凡的世界》有感
- UI组件----SeekBar
- UVA524