add flycapture
This commit is contained in:
238
Lib/FlyCapture2/include/ImageStatistics.h
Normal file
238
Lib/FlyCapture2/include/ImageStatistics.h
Normal file
@@ -0,0 +1,238 @@
|
||||
//=============================================================================
|
||||
// Copyright © 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
|
||||
//
|
||||
// This software is the confidential and proprietary information of FLIR
|
||||
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
|
||||
// shall not disclose such Confidential Information and shall use it only in
|
||||
// accordance with the terms of the license agreement you entered into
|
||||
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
|
||||
//
|
||||
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
|
||||
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
|
||||
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
|
||||
// THIS SOFTWARE OR ITS DERIVATIVES.
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// $Id: ImageStatistics.h 316355 2017-02-20 23:02:28Z alin $
|
||||
//=============================================================================
|
||||
|
||||
#ifndef PGR_FC2_IMAGESTATISTICS_H
|
||||
#define PGR_FC2_IMAGESTATISTICS_H
|
||||
|
||||
#include "FlyCapture2Platform.h"
|
||||
#include "FlyCapture2Defs.h"
|
||||
|
||||
namespace FlyCapture2
|
||||
{
|
||||
class Error;
|
||||
|
||||
/**
|
||||
* The ImageStatistics object represents image statistics for an image.
|
||||
*/
|
||||
class FLYCAPTURE2_API ImageStatistics
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* Channels that allow statistics to be calculated.
|
||||
*/
|
||||
enum StatisticsChannel
|
||||
{
|
||||
GREY,
|
||||
RED,
|
||||
GREEN,
|
||||
BLUE,
|
||||
HUE,
|
||||
SATURATION,
|
||||
LIGHTNESS,
|
||||
NUM_STATISTICS_CHANNELS
|
||||
};
|
||||
|
||||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
ImageStatistics();
|
||||
|
||||
/**
|
||||
* Default destructor.
|
||||
*/
|
||||
virtual ~ImageStatistics();
|
||||
|
||||
/**
|
||||
* Copy constructor.
|
||||
*/
|
||||
ImageStatistics( const ImageStatistics& other );
|
||||
|
||||
/**
|
||||
* Assignment operator.
|
||||
*
|
||||
* @param other The ImageStatistics object to copy from.
|
||||
*/
|
||||
ImageStatistics& operator=( const ImageStatistics& other );
|
||||
|
||||
/**
|
||||
* Enable all channels.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error EnableAll();
|
||||
|
||||
/**
|
||||
* Disable all channels.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error DisableAll();
|
||||
|
||||
/**
|
||||
* Enable only the grey channel.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error EnableGreyOnly();
|
||||
|
||||
/**
|
||||
* Enable only the RGB channels.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error EnableRGBOnly();
|
||||
|
||||
/**
|
||||
* Enable only the HSL channels.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error EnableHSLOnly();
|
||||
|
||||
/**
|
||||
* Get the status of a statistics channel.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param pEnabled Whether the channel is enabled.
|
||||
*
|
||||
* @see SetChannelStatus()
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error GetChannelStatus(
|
||||
StatisticsChannel channel,
|
||||
bool* pEnabled ) const;
|
||||
|
||||
/**
|
||||
* Set the status of a statistics channel.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param enabled Whether the channel should be enabled.
|
||||
*
|
||||
* @see GetChannelStatus()
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error SetChannelStatus(
|
||||
StatisticsChannel channel,
|
||||
bool enabled );
|
||||
|
||||
/**
|
||||
* Get the range of a statistics channel. The values returned
|
||||
* are the maximum possible values for any given pixel in the image.
|
||||
* This is generally 0-255 for 8 bit images, and 0-65535 for
|
||||
* 16 bit images.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param pMin The minimum possible value.
|
||||
* @param pMax The maximum possible value.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error GetRange(
|
||||
StatisticsChannel channel,
|
||||
unsigned int* pMin,
|
||||
unsigned int* pMax ) const;
|
||||
|
||||
/**
|
||||
* Get the range of a statistics channel. The values returned
|
||||
* are the maximum values recorded for all pixels in the image.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param pPixelValueMin The minimum pixel value.
|
||||
* @param pPixelValueMax The maximum pixel value.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error GetPixelValueRange(
|
||||
StatisticsChannel channel,
|
||||
unsigned int* pPixelValueMin,
|
||||
unsigned int* pPixelValueMax ) const;
|
||||
|
||||
/**
|
||||
* Get the number of unique pixel values in the image.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param pNumPixelValues The number of unique pixel values.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error GetNumPixelValues(
|
||||
StatisticsChannel channel,
|
||||
unsigned int* pNumPixelValues ) const;
|
||||
|
||||
/**
|
||||
* Get the mean of the image.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param pPixelValueMean The mean of the image.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error GetMean(
|
||||
StatisticsChannel channel,
|
||||
float* pPixelValueMean ) const;
|
||||
|
||||
/**
|
||||
* Get the histogram for the image.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param ppHistogram Pointer to an array containing the histogram.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error GetHistogram(
|
||||
StatisticsChannel channel,
|
||||
int** ppHistogram ) const;
|
||||
|
||||
/**
|
||||
* Get all statistics for the image.
|
||||
*
|
||||
* @param channel The statistics channel.
|
||||
* @param pRangeMin The minimum possible value.
|
||||
* @param pRangeMax The maximum possible value.
|
||||
* @param pPixelValueMin The minimum pixel value.
|
||||
* @param pPixelValueMax The maximum pixel value.
|
||||
* @param pNumPixelValues The number of unique pixel values.
|
||||
* @param pPixelValueMean The mean of the image.
|
||||
* @param ppHistogram Pointer to an array containing the histogram.
|
||||
*
|
||||
* @return An Error indicating the success or failure of the function.
|
||||
*/
|
||||
Error GetStatistics(
|
||||
StatisticsChannel channel,
|
||||
unsigned int* pRangeMin = NULL,
|
||||
unsigned int* pRangeMax = NULL,
|
||||
unsigned int* pPixelValueMin = NULL,
|
||||
unsigned int* pPixelValueMax = NULL,
|
||||
unsigned int* pNumPixelValues = NULL,
|
||||
float* pPixelValueMean = NULL,
|
||||
int** ppHistogram = NULL ) const;
|
||||
|
||||
private:
|
||||
friend class ImageStatsCalculator;
|
||||
struct ImageStatisticsData;
|
||||
ImageStatisticsData* m_pData;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user