用matlaB编程将指纹图像中的黑色块改为白色

发布网友 发布时间:2022-04-21 01:42

我来回答

2个回答

热心网友 时间:2023-11-03 11:35

连通器 把面积小于一个值的连通器置为0(白色)
L
= bwlabel(bw3, 8);--求连通器
Num = max(L(:));%记录联通器数目
for i = 1:Num %遍历各个连通器
obj= (L == i); %在新矩阵中只记录第i个连通器部分
objArea = sum(obj(:));%第i个连通器有多大
if objArea < objThd 小于100的记为要消除的
tmpPos = find(obj > 0);
xxxx 置零
以上 大意追问二值图像,是把面积大于一个值的连通器置为1(白色)吧?
你的代码objThd,tmpPos和obj代表什么呢?
我的指纹图像实际上是灰度图像,不是二值图像,应该怎么写呢?

热心网友 时间:2023-11-03 11:35

您好,注意是三维矩阵哦,RGB模型!(不过修改过后玉米周围比较模糊,是你的判断算法: if i(x,y,z)==0,不是太恰当,可以考虑优化下!)
代码:
i=imread('1.jpg');
[m,n,q]=size(i);
for z=1:q
for x=1:m
for y=1:n
if i(x,y,z)==0
i(x,y,z)=255;
end
end
end
end

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com