MATLAB图像处理 Object Analysis 笔记
2017-11-10 10:38
274 查看
1.边缘跟踪
BW_filled=imfill(BW,'holes') ; imfill用于填补图像中的空洞 bwboundaries; 检测出图像中所有点的信息 bwtraceboundary; 检测出某一个边缘的所有像素点坐标,需要标注出边缘中一个点的坐标
2.利用图像分割检测物体
一、检测出整个元素- 利用edge和Sobel算子计算阈值
- 利用阈值并且再次使用edge来获得包含分割好的物体的二值图像
[~, threshold] = edge(I, 'sobel'); fudgeFactor = .5; BWs = edge(I,'sobel', threshold * fudgeFactor); figure, imshow(BWs)
二、膨胀图像
se90 = **strel**('line', 3, 90); se0 = **strel**('line', 3, 0); BWsdil = imdilate(BWs, [se90 se0]); figure, imshow(BWsdil)
三、填补内部的间隔
BWdfill = imfill(BWsdil, 'holes'); figure, imshow(BWdfill);
四、移走边缘上的物体
利用 imclearborder 函数
BWnobord = imclearborder(BWdfill, 4); figure, imshow(BWnobord), title('cleared border image');
五、做平滑处理
利用图像腐蚀函数 imerode
seD = strel('diamond',1); BWfinal = imerode(BWnobord,seD); BWfinal = imerode(BWfinal,seD); figure, imshow(BWfinal), title('segmented image');
勾画出检测物体的边缘:利用bwperim函数
BWoutline = bwperim(BWfinal); Segout = I; Segout(BWoutline) = 255; figure, imshow(Segout), title('outlined original image');
3.检测和测量图像中的圆形物体
1、确定图像中的圆形的半径d = imdistline; %利用GUI界面大概估计图像中圆的半径 delete(d);
2、将彩色图像转化为灰度图像
gray_image = rgb2gray(rgb); imshow(gray_image);
3、调用imfindcircles来找到图片中比背景暗的圆形物体
[centers, radii] = imfindcircles(rgb,[20 25],'ObjectPolarity','dark')
centers代表检测到的所有圆的圆心坐标,radii是这个圆的半径。
如果没有检测到图像中的圆说明检测敏感度不够,调节‘sensitivity’增加检测的敏感度,默认值为0.85,增加到0.9试试
[centers, radii] = imfindcircles(rgb,[20 25],'ObjectPolarity','dark', ... 'Sensitivity',0.9)
4、在图像中将检测到的圆画出来
imshow(rgb); h = viscircles(centers,radii);
备注:使用imfindcircles默认使用phase coding方法,也可使用第二种方法‘twostage’,同等敏感度情况下可以检测到更多的圆。但phase coding更快并且对噪声有更好的鲁棒性。
相关文章推荐
- Matlab图像处理学习笔记(四):多边形检测
- 【matlab】图像处理 -- 混个技术笔记
- Matlab图像处理学习笔记(四):多边形检测
- matlab图像处理学习笔记-数学形态与二值图像操作
- 笔记2 MATLAB图像处理一
- MATLAB学习笔记四(关于图像处理)
- MATLAB学习笔记六(关于图像处理)
- 【Matlab图像处理】学习笔记:读取16进制RGB文档转为彩色图片
- 【Matlab图像处理】学习笔记:提取图片的R,G,B分量
- Matlab图像处理学习笔记(二):基于颜色的图像分割
- Matlab图像处理学习笔记(六):基于sift特征点的人民币识别
- matlab在数字图像处理中的小笔记(1)
- Matlab图像处理笔记(一)
- Matlab图像处理笔记(二)
- Matlab图像处理学习笔记(一):二值化、开操作、连通区域提取、重心、ROI
- Matlab图像处理学习笔记(三):基于匹配的目标识别
- Matlab图像处理学习笔记(六):基于sift特征点的人民币识别
- Matlab图像处理学习笔记(一):二值化、开操作、连通区域提取、重心、ROI
- Matlab图像处理学习笔记(二):基于颜色的图像分割
- Matlab图像处理学习笔记(三):基于匹配的目标识别