当前位置: 首页>>代码示例>>C++>>正文


C++ FloatRect::XMin方法代码示例

本文整理汇总了C++中FloatRect::XMin方法的典型用法代码示例。如果您正苦于以下问题:C++ FloatRect::XMin方法的具体用法?C++ FloatRect::XMin怎么用?C++ FloatRect::XMin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FloatRect的用法示例。


在下文中一共展示了FloatRect::XMin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: s

vector<FloatRect> Sampler::PixelSamples(FloatRect centre, int radius, bool halfSample)
{
	vector<FloatRect> samples;
	
	IntRect s(centre);
	samples.push_back(s);
	
	int r2 = radius*radius;
	for (int iy = -radius; iy <= radius; ++iy)
	{
		for (int ix = -radius; ix <= radius; ++ix)
		{
			if (ix*ix+iy*iy > r2) continue;
			if (iy == 0 && ix == 0) continue; // already put this one at the start
			
			int x = (int)centre.XMin() + ix;
			int y = (int)centre.YMin() + iy;
			if (halfSample && (ix % 2 != 0 || iy % 2 != 0)) continue;
			
			s.SetXMin(x);
			s.SetYMin(y);
			samples.push_back(s);
		}
	}
	
	return samples;
}
开发者ID:ywang370,项目名称:FollowME,代码行数:27,代码来源:Sampler.cpp

示例2: UpdateDebugImage

void Tracker::UpdateDebugImage(const vector<FloatRect>& samples, const FloatRect& centre, const vector<double>& scores)
{
	double mn = VectorXd::Map(&scores[0], scores.size()).minCoeff();
	double mx = VectorXd::Map(&scores[0], scores.size()).maxCoeff();
	m_debugImage.setTo(0);
	for (int i = 0; i < (int)samples.size(); ++i)
	{
		int x = (int)(samples[i].XMin() - centre.XMin());
		int y = (int)(samples[i].YMin() - centre.YMin());
		m_debugImage.at<float>(m_config.searchRadius+y, m_config.searchRadius+x) = (float)((scores[i]-mn)/(mx-mn));
	}
}
开发者ID:Barbakas,项目名称:VOTR,代码行数:12,代码来源:Tracker.cpp

示例3: Update

void LaRank::Update(const MultiSample& sample, int y)
{
	// add new support pattern
	SupportPattern* sp = new SupportPattern;
	const vector<FloatRect>& rects = sample.GetRects();
	FloatRect centre = rects[y];
	for (int i = 0; i < (int)rects.size(); ++i)
	{
		// express r in coord frame of centre sample
		FloatRect r = rects[i];
		r.Translate(-centre.XMin(), -centre.YMin());
		sp->yv.push_back(r);
		if (!m_config.quietMode && m_config.debugMode)
		{
			// store a thumbnail for each sample
			Mat im(kTileSize, kTileSize, CV_8UC1);
			IntRect rect = rects[i];
			cv::Rect roi(rect.XMin(), rect.YMin(), rect.Width(), rect.Height());
			cv::resize(sample.GetImage().GetImage(0)(roi), im, im.size());
			sp->images.push_back(im);
		}
	}
	// evaluate features for each sample
	sp->x.resize(rects.size());
	const_cast<Features&>(m_features).Eval(sample, sp->x);
	sp->y = y;
	sp->refCount = 0;
	m_sps.push_back(sp);

	ProcessNew((int)m_sps.size()-1);
	BudgetMaintenance();
	
	for (int i = 0; i < 10; ++i)
	{
		Reprocess();
		BudgetMaintenance();
	}
}
开发者ID:ketian,项目名称:tracker,代码行数:38,代码来源:LaRank.cpp

示例4: assert

HaarFeature::HaarFeature(const FloatRect& bb, int type) :
    m_bb(bb) {
    assert(type < 6);

    switch (type) {
    case 0: {
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin(), bb.Width(), bb.Height() / 2));
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin() + bb.Height() / 2, bb.Width(), bb.Height() / 2));
        m_weights.push_back(1.f);
        m_weights.push_back(-1.f);
        m_factor = 255 * 1.f / 2;
        break;
    }

    case 1: {
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin(), bb.Width() / 2, bb.Height()));
        m_rects.push_back(FloatRect(bb.XMin() + bb.Width() / 2, bb.YMin(), bb.Width() / 2, bb.Height()));
        m_weights.push_back(1.f);
        m_weights.push_back(-1.f);
        m_factor = 255 * 1.f / 2;
        break;
    }

    case 2: {
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin(), bb.Width() / 3, bb.Height()));
        m_rects.push_back(FloatRect(bb.XMin() + bb.Width() / 3, bb.YMin(), bb.Width() / 3, bb.Height()));
        m_rects.push_back(FloatRect(bb.XMin() + 2 * bb.Width() / 3, bb.YMin(), bb.Width() / 3, bb.Height()));
        m_weights.push_back(1.f);
        m_weights.push_back(-2.f);
        m_weights.push_back(1.f);
        m_factor = 255 * 2.f / 3;
        break;
    }

    case 3: {
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin(), bb.Width(), bb.Height() / 3));
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin() + bb.Height() / 3, bb.Width(), bb.Height() / 3));
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin() + 2 * bb.Height() / 3, bb.Width(), bb.Height() / 3));
        m_weights.push_back(1.f);
        m_weights.push_back(-2.f);
        m_weights.push_back(1.f);
        m_factor = 255 * 2.f / 3;
        break;
    }

    case 4: {
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin(), bb.Width() / 2, bb.Height() / 2));
        m_rects.push_back(FloatRect(bb.XMin() + bb.Width() / 2, bb.YMin() + bb.Height() / 2, bb.Width() / 2, bb.Height() / 2));
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin() + bb.Height() / 2, bb.Width() / 2, bb.Height() / 2));
        m_rects.push_back(FloatRect(bb.XMin() + bb.Width() / 2, bb.YMin(), bb.Width() / 2, bb.Height() / 2));
        m_weights.push_back(1.f);
        m_weights.push_back(1.f);
        m_weights.push_back(-1.f);
        m_weights.push_back(-1.f);
        m_factor = 255 * 1.f / 2;
        break;
    }

    case 5: {
        m_rects.push_back(FloatRect(bb.XMin(), bb.YMin(), bb.Width(), bb.Height()));
        m_rects.push_back(FloatRect(bb.XMin() + bb.Width() / 4, bb.YMin() + bb.Height() / 4, bb.Width() / 2, bb.Height() / 2));
        m_weights.push_back(1.f);
        m_weights.push_back(-4.f);
        m_factor = 255 * 3.f / 4;
        break;
    }
    }
}
开发者ID:tracedev,项目名称:STRUCK,代码行数:68,代码来源:HaarFeature.cpp


注:本文中的FloatRect::XMin方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。