matlab - 从二值图像中去除噪声

标签 matlab image-processing computer-vision

我只想得到一张有葡萄和三个圆圈(红、绿、蓝)的图像。 [我需要去除所有污迹]。 我该如何改进我的代码?

这是我的代码:

RGB = imread('img_3235.jpg');
GRAY = rgb2gray(RGB);

threshold = graythresh(GRAY);
originalImage = im2bw(GRAY, threshold);

originalImage = bwareaopen(originalImage,250);

imshow(originalImage);

CC = bwconncomp(originalImage); %Ibw is my binary image
stats = regionprops(CC,'pixellist');

这是我的图片 (img_3235.jpg)。 enter image description here

这是我的代码的结果: enter image description here

最佳答案

您可以使用 IMCLOSE 执行形态闭合.

se = strel('disk', 10); %# structuring element
closeBW = imclose(originalImage,se);
figure, imshow(closeBW);

closing通过 B 对 A 进行膨胀,然后对得到的结构进行 B 的腐 eclipse ,获得 B 对 A 的影响。

Result

关于matlab - 从二值图像中去除噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820571/

相关文章:

java - 使用 Matlab Builder JA 时遇到的问题

matlab - 如何使用 Matlab 在特定时间间隔播放音频文件?

matlab - 执行输入参数的所有可能排列(二进制样式逻辑)

python - 图像中的方形检测

image - 如何根据我的预测获得 ROI 坐标?

python - 如何使用python访问笔记本电脑的内置红外网络摄像头?

java - Face++ 比较 API

matlab - 写出一次取两个或三个乘积的总和

支持 Opencv GPU 的卡

python - OpenCV 中的图像转换