matlab:颜色辨识

matlab:颜色辨识,第1张

亲测下面程序可以运行:

I=imread('KghKt.jpg')

Ir=I(:,:,1)*2-I(:,:,2)-I(:,:,3)

[m,n]=size(Ir)

Ir=medfilt2(Ir,[5,5])%进行中值滤波

[Im,M]=max(Ir)%这两句是寻找最红的点,可能不在纸张的中心位置,

[Imm,N]=max(Im)%如果想找中心点或乎碰最左上的点,如搭请另行说明

P_x=N

P_y=M(N)

imshow(I)

text(P_x,P_y,'就是这里')

祝顺利!:)岁橡谈

我给你一个自编的点阵画图函数态孙吧,你可以输入图像斗闭辩点阵的时候将中间的数据设置成有关

紫色的RGB吧,然后把我程序里的对应的fill里的颜色改一下,最后用神经网络如

SOM 或LVQ训练,最后就可以识别数字与图像了

函数如下:

% function l_fifdz(x)

% %matlab program

% % 功能:利用n*n点阵画图

% % x=n*n点阵数据或为长度为n^2的行向量或列向量

% %%例如:x=[1 1 0 0 1 0 0 1

% % 0 1 0 0 1 0 1 0

% % 1 1 0 0 1 1 0 0

% % 1 0 0 1 1 1 1 1

% % 1 1 0 0 1 1 0 0

% % 0 1 0 0 1 0 1 0

% % 0 1 0 0 1 0 0 1

% % 1 1 0 0 1 1 1 1]

% %上位汉子示意,下面是数字示意

% %x =[1 1 1 1 1

% % 0 0 0 0 1

% % 1 1 1 1 1

% % 1 0 0 0 0

% % 1 1 1 1 1]

% x=x>0.5

% [m,n]=size(x)

% ll=(m*n)^(1/2)

% if m==1

%x=reshape(x,ll,ll)'

% end

% figure

% xlim([0,ll])

% ylim([0,ll])

% axis square

% grid

% hold on

% for i=1:ll

% for j=1:ll

% xx=j

% yy=ll-i+1

% if x(i,j)==1

% fill([xx xx xx-1 xx-1 xx],[yy yy-1 yy-1 yy yy],'k')

% else

% fill([xx xx xx-1 xx-1 xx],[yy yy-1 yy-1 yy yy],'w')

% end

% end

% end

% title('点阵示意图')

% disp('version l_1.0.0')

有问题再告诉我吧

liruibdwdm@yeah.net

追问

您好,我其实是一个完全不懂编程的人,但由于工作,需要批量处理大量的图片,我需要一个程序,就是判断图片距左右各10厘米,上下各5厘米之内的方格内的颜色,如果有紫rgb值的颜色就返回一个值1,空缺如果没有就返回一个值0,将返回值存入一个记事本中,且每返回10个值换


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12398975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存