用matlab怎么把运动目标和不动的二值化
发布网友
发布时间:2024-09-25 19:12
我来回答
共1个回答
热心网友
时间:2024-09-25 19:29
function vu = get_mask()//定义函数VU
bg = imread('tu\\131.jpg');//读入图片131.jpg
bg = rgb2gray(bg);//将图片转换为灰度图像
bg = im2bw(bg, graythresh(bg));//再转换为二值图,阈值是对灰度图像用最大类间方差法得到的
Img = imread('tu\\1.jpg');//读入图片1.JPG
I = rgb2gray(Img);//转换为灰度图
I = im2bw(I, graythresh(I));//转换为二值图
bw = I;//
L = bwlabel(I);//从黑背景甄别白块,返回和I相同大小的图像L
stats = regionprops(L, 'Area');//统计被标记白块的区域的总面积
Ar = cat(1, stats.Area);//按列连接矩阵
[mr, ind] = max(Ar);//找到Ar中那些最大值的索引位置,将他们放在向量ind中
I(L~=ind) = 0;//I中L与ind不相等的位置赋值为零
vu = imfill(I, 'holes');//将原图填充孔洞