c# – 裁剪掉不包含Face的图像部分

c# – 裁剪掉不包含Face的图像部分,第1张

概述我检测到图像中的面部(仅1个人)并具有面部矩形的坐标. 由于图像可以是任何大小,我只需要图像中重要的部分(head.shoulders).意图是通过某种因素扩展检测到的矩形的边界,以便包含重要部分. 这是正确的方法吗? 更新: 我试过这个..但它没有给出正确的结果.注意我已经将1.7更改为2,因为它只需要整数参数.而Top和Left都是只读属性. foreach (Rectangle f in o 我检测到图像中的面部(仅1个人)并具有面部矩形的坐标.

由于图像可以是任何大小,我只需要图像中重要的部分(head.shoulders).意图是通过某种因素扩展检测到的矩形的边界,以便包含重要部分.
这是正确的方法吗?

更新:

我试过这个..但它没有给出正确的结果.注意我已经将1.7更改为2,因为它只需要整数参数.而top和left都是只读属性.

foreach (Rectangle f in objects){    int x,y;    x = f.top - (f.Height / 8);    y = f.left - (f.WIDth / 2);    Rectangle myrect = new Rectangle(x,y,f.WIDth * 2,f.Height * 2);    g.DrawRectangle(Pens.Gray,myrect);}

检测到的面矩形

top----->62Right----->470left----->217Bottom----->315

根据答案扩展矩形

top----->91Right----->537left----->31Bottom----->597

扩展矩形

解决方法 由于我的 previous answer作为主题,我会在这里写出正确答案:

由于我对Emgu CV不是很熟悉,我会采用以下方法:

>由于Emgu CV是开源的,你可以度过不安的夜晚并更改库中的代码并重新编译它们等.

或(我更喜欢的方法):

>你从生物学角度考虑它,意思是:

您知道脸部矩形的位置和大小.如果你也知道身体姿势,你可以计算肩膀的估计宽度和垂直偏移(相对于脸部的中心).

生物学方法的更多细节:

想象无花果. №1开始,并想象你有以下图像和面部矩形:

Bitmap  | .WIDth == 100  | .Height == 160Face // type: System.Drawing.Rectangle  | .top == 20  | .left == 50  | .WIDth == 60  | .Height == 60

然后,根据提供的图像,新的Rectangle应该是:

f := Face // face rectangleFace_and_Shoulder  | .top = f.top - (f.Height / 8)  | .left = f.left - (f.WIDth / 2)  | .WIDth = f.WIDth * 2  | .Height = f.Height * 1.7

这将导致以下值:

Face_and_Shoulder  | .top == 12.5  | .left == 20  | .WIDth == 120  | .Height == 102

生成的矩形(Face_and_Shoulder)在绘制图像时应包括肩部和头发等.

然而,这种方法有一个小缺点:如果面部旋转了一定的度数(我认为超过5..10°),它将无法工作.

要计算相应的矩形,我建议您使用此代码(您似乎在代码示例中混淆了X和Y):

foreach (Rectangle f in objects){    float x = f.left - (f.WIDth / 2f);    float y = f.top - (f.Height / 8f);    Rectangle myrect = new Rectangle((int)x,(int)y,(int)(f.Height * 1.3));    g.DrawRectangle(Pens.Gray,myrect);}

图. №1(来源:http://www.idrawdigital.com/wp-content/uploads/2009/01/prop_var.gif)

总结

以上是内存溢出为你收集整理的c# – 裁剪掉不包含Face的图像部分全部内容,希望文章能够帮你解决c# – 裁剪掉不包含Face的图像部分所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1231832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存