资源简介
使用液化算法实现美颜算法 中的大眼小眼算法,跟大家分享一下!
代码片段和文件信息
#include
#include
#include “GrowCanvas.h“
namespace ImageWarper
{
#define GROWSTEP 0.05f
/*---------------------------------------------------------------------*/
/*---------------------------------------------------------------------*/
GrowCanvas::GrowCanvas(Rectangle &boundary int iMaxWidth int iMaxHeight bool bGrow /*= true*/)
: WarperCanvas(boundary iMaxWidth iMaxHeight)
m_GrowFactor(0.0f)
m_bGrow(bGrow)
{
}
GrowCanvas::~GrowCanvas()
{
}
/*---------------------------------------------------------------------*/
/*---------------------------------------------------------------------*/
void GrowCanvas::DoForce(Point &ptStart Point &ptEnd
PointArray2D *gridPoints Rectangle &boundary)
{
float fCrossDistance = (float)std::min(
std::min(ptEnd.X - boundary.X boundary.Right() - ptEnd.X)
std::min(ptEnd.Y - boundary.Y boundary.Bottom() - ptEnd.Y));
Point *ptTmp;
float r;
if (m_GrowFactor < 1)
m_GrowFactor += GROWSTEP;
if (m_bGrow)
{
// Calculating the new coordinate of the grid points.
for (int i = gridPoints->GetWidth() - 1; i >= 0; --i)
{
for (int j = gridPoints->GetHeight() - 1; j >= 0; --j)
{
ptTmp = gridPoints->GetItem(i j);
r = Distance(*ptTmp ptEnd.X ptEnd.Y)/fCrossDistance;
if (r < 1)
{
r = pow(r m_GrowFactor);
ptTmp->X = ptEnd.X + (int)((ptTmp->X - ptEnd.X)*r);
ptTmp->Y = ptEnd.Y + (int)((ptTmp->Y - ptEnd.Y)*r);
}
}
}
}
else
{
// Calculating the new coordinate of the grid points.
for (int i = gridPoints->GetWidth() - 1; i >= 0; --i)
{
for (int j = gridPoints->GetHeight() - 1; j >= 0; --j)
{
ptTmp = gridPoints->GetItem(i j);
r = Distance(*ptTmp ptEnd.X ptEnd.Y)/fCrossDistance;
if (r < 1 && r > 0.01)
{
r = pow(r m_GrowFactor);
ptTmp->X = ptEnd.X + (int)((ptTmp->X - ptEnd.X)/r);
ptTmp->Y = ptEnd.Y + (int)((ptTmp->Y - ptEnd.Y)/r);
}
}
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-05-07 16:02 美妆之大小眼算法(ImageWarper)\
目录 0 2016-05-07 16:02 美妆之大小眼算法(ImageWarper)\ImageWarper\
目录 0 2016-05-07 16:14 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\
目录 0 2016-05-07 16:02 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\
文件 156160 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarper.dll
文件 16574 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarper.exp
文件 567312 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarper.ilk
文件 28024 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarper.lib
文件 936960 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarper.pdb
文件 68608 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarperTest.exe
文件 6023 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarperTest.exp
文件 0 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarperTest.ilk
文件 10728 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarperTest.lib
文件 478208 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\ImageWarperTest.pdb
文件 16384 2015-07-20 17:23 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\WarperTestManaged.exe
文件 30208 2015-07-20 17:23 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\WarperTestManaged.pdb
文件 11608 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\WarperTestManaged.vshost.exe
文件 490 2013-03-18 17:00 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\Debug\WarperTestManaged.vshost.exe.manifest
目录 0 2016-05-07 16:02 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\
目录 0 2016-05-07 16:02 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\
文件 169578 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\CL.read.1.tlog
文件 15978 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\CL.write.1.tlog
文件 48832 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\GrowCanvas.obj
文件 83 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\ImageWarper.lastbuildstate
文件 853 2015-07-23 10:08 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\ImageWarper.log
文件 713 2015-07-20 17:47 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\ImageWarper.vcxprojResolveAssemblyReference.cache
文件 1674 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\ImageWarper.write.1.tlog
文件 548278 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\ManagedWrapper.obj
文件 49077 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\TranslateCanvas.obj
文件 83179 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\Warper.obj
文件 65197 2015-07-23 10:06 美妆之大小眼算法(ImageWarper)\ImageWarper\ImageWarper\ImageWarper\Debug\WarperCanvas.obj
............此处省略240个文件信息
评论
共有 条评论