本文整理汇总了C++中transformtype::Pointer::SetScale方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::SetScale方法的具体用法?C++ Pointer::SetScale怎么用?C++ Pointer::SetScale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类transformtype::Pointer
的用法示例。
在下文中一共展示了Pointer::SetScale方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: process
void ImageScaleTransform::process()
{
foreach (const ElementBase *source, mSourceElementsReadySet)
for (int i = 0; i < source->getFramesNo(); ++i)
{
const FrameBase *frame = source->getFrame(i);
if (frame->getMaxDimension() == ColorImageFrame::Dimensions)
{
mImageFrame.setSourceName(frame->getSourceName());
mSrcFrame.resizeAndCopyFrame(*frame);
ColorImageFrame::ImageType::Pointer srcImg = mSrcFrame;
typedef ScaleTransform<double, 2> TransformType;
TransformType::Pointer scaleTransform = TransformType::New();
FixedArray<float, 2> scale;
scale[0] = property("widthScale").toDouble();
scale[1] = property("heightScale").toDouble();
scaleTransform->SetScale(scale);
Point<float, 2> center;
center[0] = srcImg->GetLargestPossibleRegion().GetSize()[0]/2;
center[1] = srcImg->GetLargestPossibleRegion().GetSize()[1]/2;
scaleTransform->SetCenter(center);
typedef ResampleImageFilter<ColorImageFrame::ImageType, ColorImageFrame::ImageType> ResampleImageFilterType;
ResampleImageFilterType::Pointer resampleFilter = ResampleImageFilterType::New();
resampleFilter->SetTransform(scaleTransform);
resampleFilter->SetInput(srcImg);
resampleFilter->SetSize(srcImg->GetLargestPossibleRegion().GetSize());
resampleFilter->Update();
mImageFrame = resampleFilter->GetOutput();
emit framesReady();
break;
}
}
}