快捷搜索:  汽车  科技

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)在这里插入图片描述在这里插入图片描述在这里插入图片描述

需求:提取出图像特定黄瓜部分并得到其rgb三原色;

步骤:

  1. 首先确定黄瓜大概范围,将其它设置为背景颜色,也就是饱和度为0;
  2. 得到此时直方图,因为黄瓜是绿色的(所以它的g的饱和度较高,背景色的饱和度较底),根据直方图确定适当饱和度去除噪音颜色;

clear; % 清空 img=imread('C:\Users\EmotionaC\Desktop\Fig91.bmp'); %导入图像 img=uint8(img);%转换成uint8数据类型 img1=img; [m n d]=size(img); %计算图像像素 figure('name' '原始图像');%原始图像 title('原始水果图像'); imshow(img); % 三原色直方图 figure('name' '原图片三原色直方图'); title('原水果图片三原色直方图'); subplot(1 3 1); imhist(img(: : 1));title('R'); subplot(1 3 2); imhist(img(: : 2));title('G'); subplot(1 3 3); imhist(img(: : 3));title('B'); %将图片中除了黄瓜的部分饱和度都变成0,即变成背景黑; for i=1:m for j=1:n if(i>(5*m)/10 || i<(3*m)/10) %此点需要尝试以便找到最佳裁剪点 img1(i j 1)=0; img1(i j 2)=0; img1(i j 3)=0; end end end figure('name' '初步确定黄瓜范围图片'); imshow( img1);title('初步确定黄瓜范围图片'); % 得到此时范围三原色直方图 figure('name' '初步黄瓜范围三原色直方图'); subplot(1 3 1); imhist(img1(: : 1));title('R'); subplot(1 3 2); imhist(img1(: : 2));title('G'); subplot(1 3 3); imhist(img1(: : 3));title('B'); %将图片中除了黄瓜的部分饱和度都变成0; for i=1:m for j=1:n if(img1(i j 2)<30) % 根据上面的直方图,去掉绿色饱和度较低的像素点的背景颜色; img1(i j 1)=0; img1(i j 2)=0; img1(i j 3)=0; end end end figure('name' '黄瓜最终确定图'); imshow( img1);title('黄瓜最终确定图'); % 三原色直方图 figure('name' '黄瓜最终三原色直方图'); subplot(1 3 1); imhist(img1(: : 1));title('R'); subplot(1 3 2); imhist(img1(: : 2));title('G'); subplot(1 3 3); imhist(img1(: : 3));title('B');

  • [ ] 原始图像:

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)(1)

在这里插入图片描述

  • [ ] 原始图像三原色直方图:

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)(2)

在这里插入图片描述

  • [ ] 初步确定黄瓜范围图像:

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)(3)

在这里插入图片描述

  • [ ] 初步黄瓜范围三原色直方图:

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)(4)

在这里插入图片描述

  • [ ] 最终黄瓜图像:

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)(5)

在这里插入图片描述

  • [ ] 最终黄瓜三原色直方图:在这里插入图片描述
  • [ ] 其他信息:

matlab分析图像rgb教程(matlab-对图像进行特定部分提取并得到rgb三原色)(6)

在这里插入图片描述

==感觉文章不错的同学麻烦动动小手点点关注订阅呗 您的肯定是对我持续更新最大的支持!==

猜您喜欢: