I=imread('apple1.jpg');
%显示原来图像
figure(1);
imshow(I);
set(figure(1),'NumberTitle','off','Name','原始图像') ;
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
Y =0.299*R + 0.587*G + 0.114*B;
U = -0.147*R - 0.289*G + 0.436*B;
V = 0.615*R - 0.515*G - 0.100*B;
%显示YUV颜色空间下的图像显示
I1=cat(3,Y,U,V);
figure(2);
imshow(I1);
set(figure(2),'NumberTitle','off','Name','YUV颜色图像') ;
figure(3);
imshow(I1(:,:,1));
set(figure(3),'NumberTitle','off','Name','YUV图像Y分量图像显示') ;
figure(4);
imshow(I1(:,:,2));
set(figure(4),'NumberTitle','off','Name','YUV图像U分量图像显示');
figure(5);
imshow(I1(:,:,3));
set(figure(5),'NumberTitle','off','Name','YUV图像V分量图像显示');
G=I1(:,:,3);
[m n]=size(G);
figure(6);
imhist(G);grid minor
U=im2bw(G,25/255);imtool(U)
U_fill=imfill(U,'holes');imtool(U_fill)%分割出来的图像可能存在孔洞,因此可以填充处理
L=bwlabel(U_fill);%图像标记,每一个独立的区域被标记为一个值
s=regionprops(L, 'area');%求每一个区域的面积值
areas=cat(1, s.Area);
area_1=sort(areas,'descend');
final=bwareaopen(U_fill,area_1(2));imtool(final)
t_fenge_label=bwlabel(final);%对分割后的图像进行标记
STATS=regionprops(t_fenge_label,'boundingbox');
imshow(I); %先显示图片
%画出boundingbox的矩形区域
for k=1:max(max(t_fenge_label))
rectangle('Position',STATS(k).BoundingBox,'EdgeColor','g');
hold on
end
hold off;
YUV颜色空间下成熟苹果识别(有标记方框)
3星 · 超过75%的资源 需积分: 10 108 浏览量
2013-10-11
22:39:10
上传
评论 1
收藏 137KB ZIP 举报
风云合璧
- 粉丝: 9
- 资源: 25
最新资源
- C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码
- C#,排列组合的堆生成法(Heap’s Algorithm for generating permutations)算法与源代码
- C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码
- 6693eeb8d683458a07938615fba9e68f.apk
- C#,数值计算,解微分方程的龙格-库塔二阶方法与源代码
- C#,数值计算,用割线法(Secant Method)求方程根的算法与源代码
- C#,子集和问题(Subset Sum Problem)的算法与源代码
- mongodb 数据库基本操作
- Linux操作系统基础教程
- Linux操作系统相关习题集
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈