当前位置: 首页 > news >正文

田间杂草分割实例

      一、引言

    杂草分割是图像处理中常见的问题,本例对一个简单杂草图像在图像分析的基础上进行背景分割。

二、程序代码

clear all;close all;clc;
I=imread('.\weeds.png');
imshow(I);
Ir=I(:,:,1);
figure,imshow(Ir),title('r通道');
Ig=I(:,:,2);
figure,imshow(Ig),title('g通道');
Ib=I(:,:,3);
figure,imshow(Ib),title('b通道');
Igray=rgb2gray(I);
figure,imhist(Igray);
Ir_b=Ir-Ib;
figure,imshow(Ir_b,[]);
I2=2*Ig-Ir-Ib;%参考相关研究论文和其他文献资料提出的超绿特征 2g-r-b
figure,imhist(I2);
%Obj1=im2bw(I2,20/255);
Obj1=im2bw(I2,graythresh(I2));
figure,imshow(Obj1); %参考文献分割效果并不理想(独立思考很重要,不盲从!!!)
Igb=Ig-Ib;%通过imtool工具进行图像分析,g-b彩色因子对杂草进行分割效果较好
%Igb=1.1*Ig-Ib;
figure,imshow(Igb,[]);
figure,imhist(Igb);%具有典型双峰特性
Obj2=im2bw(Igb,graythresh(Igb));
figure,imshow(Obj2);%分割效果好
Obj2_weed=uint8(Obj2).*I;
figure,imshow(Obj2_weed);
figure('Name','杂草分割','NumberTitle','off');
subplot(2,2,1),imshow(I),title('原始图像');
subplot(2,2,2),imshow(Igb),title('灰度图像');
subplot(2,2,3),imshow(Obj2),title('二值图像');
subplot(2,2,4),imshow(Obj2_weed),title('杂草彩色图像');

三、原始图像

四、主要运行结果

       撰写博客不易,如果大家感觉本文对大家学习和研究有所启发,请点赞和关注,欢迎转发!

http://www.dtcms.com/a/269237.html

相关文章:

  • 【PTA数据结构 | C语言版】求数组与整数乘积的最大值
  • OpenWebUI(2)源码学习-后端retrieval检索模块
  • YMS系统开发2-EAP自动化SECS/GEM协议详解
  • python的瑜伽体验课预约系统
  • vue时间轴,antd时间轴,带卡片时间轴
  • Windows 和 Linux 好用网络命令
  • 【动态规划】两个数组的dp问题(一)
  • 基于 STM32+FPGA 的快速傅里叶频域图像在 TFT 中显示的设计与实现(项目资料)(ID:8)
  • Python Day6
  • 【Netty基础】Java原生网络编程
  • 洛谷刷题7.7
  • Java源码的前端编译
  • tomcat部署多个端口以及制定路径部署-vue3
  • Java创建型模式---原型模式
  • docker进入启动失败的容器
  • 图像处理中的边缘填充:原理与实践
  • AJAX vs axios vs fetch
  • [java: Cleaner]-一文述之
  • Python与Mongo数据库:下载安装mongodb与CompassGUI、python中安装monggo模块、如何在Mongo中插入一条数据
  • 10.5 实战ChatGLM3私有数据微调之提示工程:批量生成数据稳定性秘籍
  • HarmonyOS从入门到精通:自定义组件开发指南(二):组件属性与参数传递
  • Python实现MCP Server的完整Demo
  • 《声音的变形记:Web Audio API的实时特效法则》
  • Web 前端安全防护:防范常见攻击与漏洞的策略
  • SKUA-GOCAD入门教程-第八节 线的创建与编辑7和8
  • 特别放送:关于一个无法修复的系统级Bug
  • Eslint基础使用
  • 插入数据优化
  • 镜头OIS系统方案全面解析:从基础原理到前沿应用
  • 【ElasticSearch实用篇-01】需求分析和数据制造