MATLAB红苹果提取(颜色分割)

这篇具有很好参考价值的文章主要介绍了MATLAB红苹果提取(颜色分割)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(1)将已知图像进行消噪处理

(2)对彩色图像进行目标和背景分析

(3)通过颜色将图像进行分割

(4)进行形态学处理,提取目标

MATLAB红苹果提取(颜色分割)

看了一下这几个博客,重要的是要得到的就是二值化的分割出来的主体图像,剩下提取的步骤其实不算难。可以使用图像相乘,或者颜色叠加。

用 matlab 对图像进行局部提取

试了一下使用OTSU进行分割,效果不太理想。直方图也比较平均,无法提取出来。

MATLAB红苹果提取(颜色分割)

MATLAB红苹果提取(颜色分割)

区域生长分割,效果依旧很差。

MATLAB红苹果提取(颜色分割)

​由于给定的图片主要分为红色的苹果和绿色的叶子部分,所以可以基于颜色进行分割。

老师给的代码是K均值聚类算法,不明觉厉。

clear,clc,close all;
Image=imread('fruit.jpg');
subplot(121);imshow(Image),title('原图像'); 
hsv=rgb2hsv(Image);
h=hsv(:,:,1);
h(h>330/360)=0;
[N,M]=size(h);
training=h(:);
startdata = [0;60/360;120/360;180/360;240/360;300/360];
[IDX,C]= kmeans(training,6,'Start',startdata);
idbw = (IDX == 1);
template = reshape(idbw, size(h));
subplot(122);imshow(template),title('分割后的图像');
imwrite(template,'clusterseg.jpg');

由于没有装工具箱,我使用不了kmeans函数,所以研究了一下,使用了基于RGB分量分割,对应的红色R=1,B,G参数自己调整,方法在这篇帖子。

matlab 对颜色差异明显的目标 实现图像分割

主要使用了方法2得到二值化后的图像,然后颜色叠加部分采用了这个链接中的方法,将得到的二值图像分别和原图提取出来的RGB分量相乘。在灰度处理的时候添加了填充洞和删掉小块噪点的函数,使图像更加完整

clear all

pic1=imread('apple.png');
%分别提取RGB三个通道(也就是三个二维矩阵)
R=pic1(:,:,1);
G=pic1(:,:,2);
B=pic1(:,:,3);
%获取图像的矩阵
[y,x,z]=size(pic1);

 
%使用灰度整合二值化方法
%循环每个像素
for i=1:x
    for j=1:y
        %改变灰度值,系数可以自己调整
        pic2(j,i)=(1*R(j,i)-0.3*G(j,i)-0.3*B(j,i)); 
    end
end

t=graythresh(pic2);             %确定二值化阈值

pic3=im2bw(pic2,t);             %二值化

pic3=imfill(pic3,'holes');      %填充洞

pic3=bwareaopen(pic3,10);       %删掉一些小块噪点

%由于二值图元素的类型都是 logical型(逻辑型),在进行运算处理时不符合要求,所以转为 uint8
a1=im2uint8(pic3)/255;

R1=R.*a1;               %各个通道的矩阵乘以二值图,中心的蝴蝶矩阵数值不变,背景变为0
G1=G.*a1;
B1=B.*a1;

b1(:,:,1)=R1;           %三个通道叠加,组成一个三维的RGB图
b1(:,:,2)=G1;
b1(:,:,3)=B1;

%显示结果环节
figure
subplot(1,2,1),imshow(pic1),title("原图");
subplot(1,2,2),imshow(b1),title("处理结果");

MATLAB红苹果提取(颜色分割)

相比起来效果还是差了点,苹果底部反射叶子的部分因为有绿色所以不是很精确。

当然红色玫瑰也ok

MATLAB红苹果提取(颜色分割)文章来源地址https://www.toymoban.com/news/detail-489368.html

到了这里,关于MATLAB红苹果提取(颜色分割)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB | 如何自然好看的从图片中提取颜色并制作色卡

    在这里研究了一下各种排序算法,写一篇如何由图片一键生成颜色条的方法。 假设有大量颜色怎么对其进行排序呢,首先想到的最简单方法就是将其按照RGB值的大小进行排序,为了方便展示颜色条,这里编写了一个颜色条展示函数: 假设对于RGB颜色,先按照R通道数值进行排

    2023年04月10日
    浏览(33)
  • 【OpenCV 例程300篇】209. HSV 颜色空间的彩色图像分割

    OpenCV 例程200篇 总目录 5.1 HSV 颜色空间的彩色图像分割 HSV 模型是针对用户观感的一种颜色模型。 HSV 颜色空间的各通道分别表示色调(Hue)、饱和度(Saturation)和明度(Value),可以直观地表达色彩的明暗、色调及鲜艳程度。 HSV 颜色空间可以用一个圆锥空间模型来描述。圆

    2024年02月04日
    浏览(44)
  • 用迅为RK3568开发板使用OpenCV处理图像颜色通道提取ROI

    本小节代码在配套资料“iTOP-3568 开发板\\03_【iTOP-RK3568 开发板】指南教程 \\04_OpenCV 开发配套资料\\07”目录下,如下图所示: 在计算机的色彩图像中存有三个通道,即 BGR 通道,根据三个颜色通道的亮度值来显示出不同的颜色,通过 imread()函数读取图像文件之后,图像信息会保

    2024年02月10日
    浏览(37)
  • OpenCv案例(九): 基于OpenCvSharp图像分割提取目标区域和定位

    以下原图中,物体连靠在一起,目的是将其分割开,再提取轮廓和定位 原图:   最终效果: 麻烦的地方是,分割开右下角部分,两个连在一起的目标物体,下图所示:  基本方法:BoxFilter滤波、二值化、轮廓提取,凸包检测,图像的矩 代码如下: 灰度图像后图像二值化:

    2024年02月11日
    浏览(36)
  • Matlab|图像处理04|图像分割-阈值分割方法

    一、人工阈值分割方法threshold_test1.m 1、分析修改阈值对分割结果的影响 分析:取直方图中第一个谷底的灰度值作为阈值,图像分割效果较好。当阈值改变时,分割后的图像有部分信息丢失,本图中当阈值减小时分割后的图像黑色部分较多,当阈值增大时分割后的图像白色部

    2024年02月11日
    浏览(49)
  • 【计算机视觉】图像分割与特征提取——基于Log、Canny的边缘检测

    个人简介:  📦个人主页:赵四司机 🏆学习方向:JAVA后端开发  ⏰往期文章:SpringBoot项目整合微信支付 🔔博主推荐网站:牛客网 刷题|面试|找工作神器 📣种一棵树最好的时间是十年前,其次是现在! 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。 前言:

    2024年02月03日
    浏览(41)
  • 视频目标语义分割自动标注——从图像轮廓提取到转成json标签文件

    语义分割数据标注是为训练语义分割模型准备数据的过程。语义分割是计算机视觉领域的任务,其中需要为图像中的每个像素分配一个类别标签,以区分不同的对象或区域。标注数据时,通常需要为每个对象或区域分配一个唯一的标签,并创建与图像像素相对应的分割掩码。

    2024年02月04日
    浏览(43)
  • 【计算机视觉】图像分割与特征提取——频域增强(低通滤波&高通滤波)

    个人简介:  📦个人主页:赵四司机 🏆学习方向:JAVA后端开发  ⏰往期文章:SpringBoot项目整合微信支付 🔔博主推荐网站:牛客网 刷题|面试|找工作神器 📣种一棵树最好的时间是十年前,其次是现在! 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。 前言:

    2024年01月15日
    浏览(50)
  • MATLAB图像分割之阈值分割

            可以通过图像全局的信息,例如整个图像的灰度直方图。如果在整个图像中只使用一个阈值,则这种方法叫做全局阈值法,整个图象分成两个区域,即目标对象(黑色)和背景对象(白色)。全局阈值将整个图像的灰度阈值设置为常数。 I=imread(\\\'veg.png\\\'); figure,imshow(I); I2=r

    2024年02月07日
    浏览(44)
  • OPENCV C++图像提取,图像处理,roi,阈值分割,连通区域筛选,边缘检测(以箱子边缘框选为例)

    本周有机会接触了一点opnev, 在此做一下记录, 最终以 框选出下图箱子为目的( 图片箱子为相机实拍结果,曝光有点低,会有亿点点暗 ), 本文会拆解步骤并附上图片, 完整的源码在最后.PS: 本文参考了好多大佬分享的理论知识, 在此先感谢大佬的分享~~ 首先是梳理一下流程, 下图是

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包