Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 测试对象内部和对象内部_Image_Matlab_Image Processing_Computer Vision - Fatal编程技术网

Image 测试对象内部和对象内部

Image 测试对象内部和对象内部,image,matlab,image-processing,computer-vision,Image,Matlab,Image Processing,Computer Vision,我正在写一个图像处理应用程序,它根据物体的形状识别物体。我面临的问题是,由于一个对象可以由一个或多个子对象组成,例如,人脸是由眼睛、鼻子和嘴巴组成的对象 应用图像分割可以创建单独的对象,但不能判断一个对象是否在另一个对象内 %# convert object 1 defined by points [x1,y1] into mask msk1 = poly2mask(x1,y1,imageSizeX,imageSizeY); %# do the same for object 2 msk2 =

我正在写一个图像处理应用程序,它根据物体的形状识别物体。我面临的问题是,由于一个对象可以由一个或多个子对象组成,例如,人脸是由眼睛、鼻子和嘴巴组成的对象

应用图像分割可以创建单独的对象,但不能判断一个对象是否在另一个对象内

%# convert object 1 defined by points [x1,y1] into mask
msk1 = poly2mask(x1,y1,imageSizeX,imageSizeY);
%# do the same for object 2
msk2 = poly2mask(x2,y2,imageSizeX,imageSizeY);

%# check whether object 1 is fully inside object 2
oneInsideTwo = all(msk2(msk1));
如何有效地检查一个对象是否包含在另一个对象中

现在我的算法是wat,我称之为8点测试,在8个角点选择8个点,然后检查它们是否都在对象内部。如果它们都在,那么你可以更确定整个对象都在另一个对象内部。。。但它有一定的局限性或某些失效区域


另外,因为内部对象位于另一个对象内部,这意味着我应该将它们视为外部对象的一部分???

测试一个对象是否完全位于另一个对象内部的一种方法是使用将两者转换为二元遮罩(如果它们还不是二元遮罩),并测试一个对象的所有像素是否都是另一个对象的一部分

%# convert object 1 defined by points [x1,y1] into mask
msk1 = poly2mask(x1,y1,imageSizeX,imageSizeY);
%# do the same for object 2
msk2 = poly2mask(x2,y2,imageSizeX,imageSizeY);

%# check whether object 1 is fully inside object 2
oneInsideTwo = all(msk2(msk1));
然而,这真的有必要吗?眼睛应始终靠近面部中心,因此,8点法在识别是否发现眼睛是面部的一部分或是否是分割伪影时应相当稳健

也就是说,如果眼睛在脸上,那么是的,你会把它看成是脸的一部分——除非你在分析正在吃眼睛的人的照片,在这种情况下你必须测试眼睛是否在脸上的大致位置。
总之,你的问题的答案是一个很大的“取决于你申请的细节”

测试一个对象是否完全位于另一个对象内部的一种方法是使用(如果它们还不是二进制掩码)将两者转换为二进制掩码,并测试一个对象的所有像素是否都是另一个对象的一部分

%# convert object 1 defined by points [x1,y1] into mask
msk1 = poly2mask(x1,y1,imageSizeX,imageSizeY);
%# do the same for object 2
msk2 = poly2mask(x2,y2,imageSizeX,imageSizeY);

%# check whether object 1 is fully inside object 2
oneInsideTwo = all(msk2(msk1));
然而,这真的有必要吗?眼睛应始终靠近面部中心,因此,8点法在识别是否发现眼睛是面部的一部分或是否是分割伪影时应相当稳健

也就是说,如果眼睛在脸上,那么是的,你会把它看成是脸的一部分——除非你在分析正在吃眼睛的人的照片,在这种情况下你必须测试眼睛是否在脸上的大致位置。
总之,你的问题的答案是一个很大的“取决于你申请的细节”

“我正在编写一个图像处理应用程序”-考虑到复杂性和特定领域,与这里的大多数人相比,这可能使你成为专家…@Mitch I disagre。。。这里有相当多非常聪明的用户,在非常特定的领域有着非常丰富的经验。。。卡米洛·马丁:我没说这里没有聪明人。关键是,如果你是一个编写图像处理应用程序的人,这就意味着你在该领域有一定的专业知识,否则这只是猴子和打字机…@Mitch我不知道你所说的“图像处理应用程序”是什么意思。我已经写了几个图像(视频)恢复算法,我有猴子的专业知识。我敢肯定,在这里的数千(我想是50万)用户中,至少有几个人在图像处理方面有一些有用的专业知识,可以在这里有所帮助。@Camilo Martin:“我不知道你说的“图像处理应用程序”是什么意思。”-你需要问海报……“我正在写一个图像处理应用程序。”-考虑到复杂性和特定领域,与这里的大多数人相比,这可能使你成为一名专家…@Mitch I disagre。。。这里有相当多非常聪明的用户,在非常特定的领域有着非常丰富的经验。。。卡米洛·马丁:我没说这里没有聪明人。关键是,如果你是一个编写图像处理应用程序的人,这就意味着你在该领域有一定的专业知识,否则这只是猴子和打字机…@Mitch我不知道你所说的“图像处理应用程序”是什么意思。我已经写了几个图像(视频)恢复算法,我有猴子的专业知识。我敢肯定,在这里的数千(我想是50万)用户中,至少有几个人在图像处理方面有一些有用的专业知识,可以在这里有所帮助。@Camilo Martin:“我不知道你所说的“图像处理应用程序”是什么意思-你需要问问海报……thanx。。但当我举眼睛的例子时,我指的不仅仅是人的脸。我说的是一般物体。同样,对于大尺寸对象,此测试将非常昂贵。@Mew 3.2:对象大小无关紧要,因为遮罩始终是图像的大小。无论如何,我所说的关于眼睛的内容适用于任何其他对象,对于更详细的建议,我需要了解有关您的应用程序的更多细节。我的项目是关于基于内容的图像搜索。在这个项目中,我将识别图像中存在的不同对象,并按数据库中的特征列出每个对象。后来,基于对象的检索变得很容易。我的问题是如何找到精确且耗时较少的算法来确定一个物体是否在另一个物体内部。这是找到对象组成关系所必需的…thanx。。但当我举眼睛的例子时,我指的不仅仅是人的脸。我说的是一般物体。同样,对于大尺寸对象,此测试将非常昂贵。@Mew 3.2:对象大小无关紧要,因为遮罩始终是图像的大小。无论如何,我所说的关于眼睛的内容适用于任何其他对象,对于更详细的建议,我需要了解有关您的应用程序的更多细节。我的项目是关于基于内容的图像搜索。在这个项目中,我将识别图像中存在的不同对象,并按数据库中的特征列出每个对象。晚些时候