本文整理汇总了C++中GenericImage::GetStatusCallback方法的典型用法代码示例。如果您正苦于以下问题:C++ GenericImage::GetStatusCallback方法的具体用法?C++ GenericImage::GetStatusCallback怎么用?C++ GenericImage::GetStatusCallback使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GenericImage
的用法示例。
在下文中一共展示了GenericImage::GetStatusCallback方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ApplyInPlaceFourierTransform
static void ApplyInPlaceFourierTransform( GenericImage<P>& image, FFTDirection::value_type dir, bool parallel, int maxProcessors )
{
int w = FFTC::OptimizedLength( image.Width() );
int h = FFTC::OptimizedLength( image.Height() );
if ( w != image.Width() || h != image.Height() )
{
StatusCallback* s = image.GetStatusCallback(); // don't update status here
image.SetStatusCallback( 0 );
image.ShiftToCenter( w, h );
image.SetStatusCallback( s );
}
bool statusInitialized = false;
if ( image.Status().IsInitializationEnabled() )
{
image.Status().Initialize( (dir == FFTDirection::Backward) ? "Inverse FFT" : "FFT",
image.NumberOfSelectedChannels()*size_type( w + h ) );
image.Status().DisableInitialization();
statusInitialized = true;
}
try
{
FFTC F( h, w, image.Status() );
F.EnableParallelProcessing( parallel, maxProcessors );
for ( int c = image.FirstSelectedChannel(); c <= image.LastSelectedChannel(); ++c )
F( image[c], image[c], (dir == FFTDirection::Backward) ? PCL_FFT_BACKWARD : PCL_FFT_FORWARD );
if ( statusInitialized )
image.Status().EnableInitialization();
}
catch ( ... )
{
if ( statusInitialized )
image.Status().EnableInitialization();
throw;
}
}