已知二值香蕉图Fina_img1,编写MATLAB程序将从包含橘子、香蕉、苹果的彩色图像Original_Image将香蕉提取出来
时间: 2024-02-23 11:01:30 浏览: 21
可以按照以下MATLAB程序实现从彩色图像中提取香蕉:
```matlab
% 读取原始彩色图像
original_img = imread('Original_Image.jpg');
% 将原始图像转换到HSV颜色空间
hsv_img = rgb2hsv(original_img);
% 提取香蕉区域
banana_mask = hsv_img(:,:,1) > 0.1 & hsv_img(:,:,1) < 0.2 & ...
hsv_img(:,:,2) > 0.4 & hsv_img(:,:,3) > 0.3;
% 进行形态学处理,去除噪声和填充空洞
se = strel('disk', 5);
banana_mask = imopen(banana_mask, se);
banana_mask = imclose(banana_mask, se);
% 将二值香蕉图像叠加到原始彩色图像上
output_img = original_img;
output_img(repmat(~banana_mask, [1 1 3])) = 0;
% 显示结果
figure;
subplot(1,2,1); imshow(original_img); title('Original Image');
subplot(1,2,2); imshow(output_img); title('Bananas Only');
```
在这个程序中,我们首先读取了原始彩色图像并将其转换到HSV颜色空间。然后,我们通过在HSV空间中选择香蕉的颜色范围来提取香蕉区域,并使用形态学处理技术去除噪声和填充空洞。最后,我们将二值香蕉图像叠加到原始彩色图像上,并显示结果。