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个值换
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)