图像搜索目标框
版权声明:本文为shaoxiaohu原创文章,欢迎转载,请注明出处,谢谢。
有这样一幅图,
我们想获取其中的连通区域,可以使用以下代码:
- src_img_name = 'blue_sky_white_clound_002594.jpg';
- img = imread(src_img_name);
- % get binary image
- gray_img = rgb2gray(img);
- T = graythresh(gray_img);
- bw_img = im2bw(gray_img, T);
- % find the largest connected region
- img_reg = regionprops(bw_img, 'area', 'boundingbox');
- areas = [img_reg.Area];
- rects = cat(1, img_reg.BoundingBox);
显示所有连通区域,
- % show all the largest connected region
- figure(1),
- imshow(bw_img);
- for i = 1:size(rects, 1)
- rectangle('position', rects(i, :), 'EdgeColor', 'r');
- end
显示最大连通区域,
- [~, max_id] = max(areas);
- max_rect = rects(max_id, :);
- % show the largest connected region
- figure(2),
- imshow(bw_img);
- rectangle('position', max_rect, 'EdgeColor', 'r');
本文介绍了一种使用MATLAB实现的图像处理技术,该技术能够识别并突出显示图像中的连通区域。通过将图像转换为灰度,应用阈值处理得到二值图像,并利用regionprops函数获取连通区域的边界框,最终实现对图像中连通区域的有效检测。
1568





