查找二值图像连通区域的质心
2014-01-04 16:32
253 查看
研究摄像头的目的,在于对运动的物体进行定位,并提取特征值为下一步的运动控制做准备,当然,这之前需要基本的确定某一静态物体的位置,很容易让我们想到确定感兴趣区域的质心。下面代码是对一幅图像进行的处理:
在寻找质心的过程中,刚开始是找寻的是背景色连通区域的质心,而不是感兴趣部分的质心,针对这个问题,就二值化图像而言,最好的办法就是在二值化前加反向符号,即背景色和前景色互换,就OK了。今天到这里,后天接着探究动态质心的可行性~
下面是效果图:
image = imread('2.jpg'); image = rgb2gray(image); thresh = graythresh(image); image = ~im2bw(image,thresh);%背景色和前景色互换 imshow(image); [L,num] = bwlabel(image,8);%标记二值化图像中的连通部分 plotx = zeros(1,1);%记录质心位置坐标的变量 ploty = zeros(1,1); %%求质心 sumx = 0; sumy = 0; area = 0; [height,width] = size(image); for i = 1 : height for j = 1 : width if L(i,j) == 1 sumx = sumx + i; sumy = sumy + j; area = area + 1; end end end %%质心坐标 plotx(1) = fix(sumx / area); ploty(1) = fix(sumy / area); dis = dataset(plotx(1),ploty(1));%变量dis为质心位置坐标数据(行列) figure(2); imshow(image); hold on plot(ploty(1),plotx(1),'*');
在寻找质心的过程中,刚开始是找寻的是背景色连通区域的质心,而不是感兴趣部分的质心,针对这个问题,就二值化图像而言,最好的办法就是在二值化前加反向符号,即背景色和前景色互换,就OK了。今天到这里,后天接着探究动态质心的可行性~
下面是效果图:
相关文章推荐
- 图像处理之计算二值连通区域的质心
- matlab图像处理之连通区域求质心
- 图像处理之计算二值连通区域的质心
- 图像处理之计算二值连通区域的质心
- 图像处理之计算二值连通区域的质心
- Matlab图像处理学习笔记(一):二值化、开操作、连通区域提取、重心、ROI
- 基于区域生长的二值化图像连通域标记
- 基于轮廓的图像分割、连通区域提取
- 图像处理之计算连通区域的角度方向
- Matlab图像处理学习笔记(一):二值化、开操作、连通区域提取、重心、ROI
- matlab,针对图像,如何获得 3D 连通区域的外接长方体
- 使用Matlab中regionprops函数获取图像连通区域
- matlab 求图像的连通区域的圆度并可视化
- 【图像处理】二值图像连通区域标记中等价对的合并
- C语言编写的一个删除二值图像中不连通小区域的函数
- C++ 二值图像连通区域标记
- 二值图像连通区域标记
- 二值图像连通区域标记(OpenCV版)
- 图像目标区域质心计算
- 实现二值图像连通区标记之区域生长法