- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
骰子点数识别-图像分割精要
骰子点数识别-图像分割
前言
前段时间借用神经网络和卷积神经网络实现了骰子点数的识别,但是一个很严重的问题一直困扰我,那就是当两个骰子叠在一起的时候,将两个骰子分开并不是一件简单的事情。
下图是我在识别过程中产生的不能识别的,叠加在一起的图片素材。
面对这些形态各异的图片,有的时候是两个骰子一个角连在一起,有的是一条边,有的是三个骰子叠在一起。所以,很难找到一个满意的办法解决这个问题。
第一思路就是从原始的RGB图像着手,通过调整二值化阈值,希望能够将骰子对象分割开来,但是遗憾的是我试了好几种方法,都是不行的,原因在于原图像在交接的地方本来就很模糊,颜色变化很小,所以使用二值化阈值调整很难得到完美的解决方案。
期间我尝试了不同的方法
分水岭
[java] view plain copy 在CODE上查看代码片派生到我的代码片
close all
clc
figure(1)
subplot(231)
RGB_img=imread(161220S010129.jpg);
imgsize =size(RGB_img);
RGB_img = imcrop(RGB_img,[imgsize(1,2)*0.418 imgsize(1,1)*0.655 215 134]);%大部分图像布局固定
imshow(RGB_img)
%%
subplot(232)
%imhist(A(:,:,1));
bw=im2bw(rgb2gray(RGB_img));
bw=medfilt2(bw);
planes=bwareaopen(bw,100);
imshow(planes)
%%
subplot(233)
D=bwdist(imcomplement(planes));
D=mat2gray(D);
imshow(D)
figure
subimage(D)
hold on
[C,h]=imcontour(D,0.2:0.2:0.8);
set(h,ShowText,on,TextStep,get(h,LevelStep)*2)
text_handle = clabel(C,h,color,g);
figure(1)
%%
subplot(234)
M=imimposemin(imcomplement(D),D.8);
imshow(M);
%%
subplot(236)
L=watershed(M);
r=L planes;
imshow(r)
%%%%%%%%%%%%
stats=regionprops(r,BoundingBox,Centroid);
hold on
c=cat(1,stats.Centroid);
plot(c(:,1),c(:,2),r*)
bb={stats.BoundingBox};
cellfun(@(x) rectangle(Position,x,EdgeColor,y),bb)
%%
subplot(235)
L(r)=5;
imshow(L,[])
抽取局部再二值化寻找连通区域
[java] view plain copy 在CODE上查看代码片派生到我的代码片
close all;
RGB_img=imread(161221S010029.jpg);
imgsize =size(RGB_img);
RGB_img = imcrop(RGB_img,[imgsize(1,2)*0.418 imgsize(1,1)*0.655 215 134]);%大部分图像布局固定
GRY_img=rgb2gray(RGB_img);
level = graythresh(GRY_img);
BW_img=im2bw(GRY_img,0.7);
BW_img =imclearborder(BW_img,8);
[img1,map] = rgb2ind(RGB_img,64); %# Create your quantized image
rPlane = reshape(map(img1+1,1),size(img1)); %# Red color plane for image
gPlane = reshape(map(img1+1,2),size(img1)); %# Green color plane for image
bPlane = reshape(map(img1+1,3),size(img1)); %# Blue color plane
您可能关注的文档
最近下载
- 《开屏的孔雀》少儿美术PPT绘画课件创意教程教案.pptx VIP
- 四张纸-如何做好优莎纳事业.doc VIP
- sucgodwork天工软件2017 godwork_说明eos操作手册20170821.pdf VIP
- Unit 3 Developing ideas Just A Brother课件--高中英语外研版必修第一册.pptx VIP
- 管道介质色标.doc VIP
- 《室内天麻种植技术》(室内怎样种植天麻).pdf VIP
- 专精特新企业培育计划.docx VIP
- 2025年骨干教师笔试试题及答.docx VIP
- 安全防范系统安装维护员试卷及答案.doc VIP
- 慢性盆腔炎治疗进展及护理.doc VIP
原创力文档


文档评论(0)