图像分割使用颜色阈值应用程序?

4次浏览(最近30天)
Paun约万诺维奇
Paun约万诺维奇 2021年9月15日
回答: 焉耆刘2021年9月28日8:33
有人知道如何为这个帧创建蒙版吗?我有一个视频的初始帧,我想创建一个面具,这样以后我就可以用交通警察的手套提取区域并跟踪它们,以便识别交通手势。我尝试了颜色阈值应用程序,但我没有得到适当的阈值。
1评论
Paun约万诺维奇
Paun约万诺维奇 2021年9月15日
代码:
函数[BW, maskedRGBImage] = createMask (RGB)
%createMask阈值RGB图像使用自动生成的代码从colorThresholder应用程序。
% [BW,MASKEDRGBIMAGE] = createMask(RGB)阈值图像RGB使用
%从colorThresholder应用程序自动生成的代码
中设置的每个颜色空间通道的最小/最大值
% App,得到二进制掩码BW和合成图像maskedRGBImage,
%表示掩码BW下的原始RGB图像值。
%由colorThresholder应用程序在2021年7月2日自动生成
%------------------------------------------------------
%转换RGB图像到选择的颜色空间
I = rgb2ycbcr (RGB);
%根据直方图设置为通道1定义阈值
channel1Min = 73.000;
channel1Max = 144.000;
%根据直方图设置定义通道2的阈值
channel2Min = 100.000;
channel2Max = 133.000;
%根据直方图设置定义通道3的阈值
channel3Min = 137.000;
channel3Max = 153.000;
%根据选择的直方图阈值创建掩码
sliderBW =(我(::1)> = channel1Min) &(我(:,:1)< = channel1Max) &...
(我(::2)> = channel2Min) &(我(:,:2)< = channel2Max) &...
(我(::3)> = channel3Min) &(我(:,:,3)< = channel3Max);
BW = sliderBW;
基于输入图像初始化输出屏蔽图像。
maskedRGBImage = RGB;
将BW为假的背景像素设置为0。
maskedRGBImage(repmat(~BW,[1 1 3])) = 0;
结束

登录评论。

答案(1)

焉耆刘
焉耆刘 2021年9月28日8:33
先生,请检查下面的代码以获取一些信息
clc;清晰的所有;关闭所有
img = imread (“https://ww2.mathworks.cn/matlabcentral/answers/uploaded_files/740009/untitled.jpg”);
J = rgb2hsv (img);
s = mat2gray (J (:,: 2));
Bw = im2bw(s, graythresh(s));
Bw = imclose(Bw, strel()“行”19日,90));
Bw = bwareafilt(Bw, 1);
Bw = imdilate(Bw, strel(“磁盘”5));
j - 1 = img (:,: 1);J2 = img (:,:, 2);J3 = img (:,:, 3);
j - 1 (bw) = 255;J2 (bw) = 0;J3 (bw) = 0;
Jt =猫(:3为J1 J2, J3);
蒙太奇({img, bw, Jt},“大小”3 [1],“写成BackgroundColor”' w '“BorderSize”3 [3])

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!

翻译的