MATLAB实现颜色及颜色亮度,形状的识别(超简单)

最近做项目有要求,要在STM32F1上面实现颜色及基础图像的识别,所以用MATLAB做了个demo程序。

第一个需求是颜色识别,我在网上看的大部分都要将RGB空间转换成HSV/HSI空间来进行颜色识别,但是这样在F1这种最高主频只有72Mhz的单片机上跑实在是太慢了,所以就想直接在RGB空间进行颜色识别,这样的话就要分辨出R,G,B三个颜色分量对基本颜色的影响,所以我就写一个统计不同亮度下的红色来统计R,G,B三个颜色分量的影响。

第一步,制作素材,我用Windows自带的图片编辑软件制作了一个红色的色卡,共有16个不同亮度的红色,如上所示。

第二步,统计各种亮度的RGB三个分量

MATLAB代码如下:

clc;
clear;
Path="C:\Users\罗旭\Desktop\Color\mystepred.png";%图片路径
Source_img=imread(Path);%获取图片信息
[r,lie]=size(Source_img(:,:,2));%获取行列信息
read_l=20;%因为是自己制作的色卡,所以要选定某一行来读取信息,方便以后读取其它颜色的色卡
x=1:lie;
R_value=Source_img(read_l,:,1);%读取那一行的R分量
G_value=Source_img(read_l,:,2);%读取那一行的G分量
B_value=Source_img(read_l,:,3);%读取那一行的B分量
Gray_img&
  • 13
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值