Matlab 图像提取:在图片A中能检测到皮肤颜色的部分,并已将其在图片B中显示出来,如何分别保存已检测部分
第一张图片是原始图片A,通过处理,我得到了皮肤颜色类似的区域显示于B,图片C显示为原始图片A中对应B中的区域的图像。问题是:现在有了图片A、B、C三图片,如何从图片C中将...
第一张图片是原始图片A,通过处理,我得到了皮肤颜色类似的区域显示于B,图片C显示为原始图片A中对应B中的区域的图像。问题是:现在有了图片A、B、C三图片,如何从图片C中将皮肤部分读取并保存(例如保存到一个cell中)
展开
展开全部
你的意思是记录皮肤部分所在的坐标么?
可以直接将所有皮肤部分的像素点的横纵坐标存在一个2*N的矩阵里
也可以做一个与图片大小相等的logical矩阵,是皮肤的位置标为1.
可以直接将所有皮肤部分的像素点的横纵坐标存在一个2*N的矩阵里
也可以做一个与图片大小相等的logical矩阵,是皮肤的位置标为1.
更多追问追答
追问
我想将图C中被识别为皮肤的区域分块存储起来。比如说图D这个部分有两个人头,我希望能将其分开并存放到一个cell或另开辟两个矩阵存储起来备用。
您说的方法是存储坐标然后获取皮肤部分么?“将所有皮肤部分的像素点的横纵坐标存在一个2*N的矩阵里”这句是把皮肤的所有像素点都存储起来了,是吧?我现在遇到的问题是,我这个部分是中间过程,我需要保存每个区域,然后后续还将对各区域进行处理哈。所以我得一块一块保存起来
追答
试试 bwlabel 函数吧。。。可以识别连通分量。
但是如果是两个人的皮肤连在一起了就比较麻烦了。。。。。。。。你可能得对不同肤色的人进行不同阈值的检测。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询