eLynx SDK
v3.3.0 C++ image processing API reference |
00001 //============================================================================ 00002 // IImageAnalyse.h Image.Component package 00003 //============================================================================ 00004 // Usage : image analyse interface 00005 //---------------------------------------------------------------------------- 00006 // Copyright (C) 2006 by eLynx project 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU Library General Public 00010 // License as published by the Free Software Foundation; either 00011 // version 2 of the License, or (at your option) any later version. 00012 // 00013 // This library is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 // See the GNU Library General Public License for more details. 00017 //---------------------------------------------------------------------------- 00018 #ifndef __IImageAnalyse_h__ 00019 #define __IImageAnalyse_h__ 00020 00021 #include <elx/image/AbstractImage.h> 00022 #include <elx/image/ImageHistogram.h> 00023 #include <elx/image/ImageLib.h> 00024 00025 namespace eLynx { 00026 namespace Image { 00027 00032 class ExportedByImage IImageAnalyse 00033 { 00034 public: 00035 virtual ~IImageAnalyse(); 00036 00037 virtual bool ComputeMin(const AbstractImage& iImage, double& oMin, bool ibNormalized) const = 0; 00038 virtual bool ComputeMin(const AbstractImage& iImage, double (&oMin)[PC_MAX], bool ibNormalized) const = 0; 00039 virtual bool ComputeMinLuminance(const AbstractImage& iImage, double& oMinLuminance, bool ibNormalized) const = 0; 00040 00041 virtual bool ComputeMax(const AbstractImage& iImage, double& oMax, bool ibNormalized) const = 0; 00042 virtual bool ComputeMax(const AbstractImage& iImage, double (&oMax)[PC_MAX], bool ibNormalized) const = 0; 00043 virtual bool ComputeMaxLuminance(const AbstractImage& iImage, double& oMaxLuminance, bool ibNormalized) const = 0; 00044 00045 virtual bool ComputeMinMax(const AbstractImage& iImage, double& oMin, double& oMax, bool ibNormalized) const = 0; 00046 virtual bool ComputeMinMax(const AbstractImage& iImage, double (&oMin)[PC_MAX], double (&oMax)[PC_MAX], bool ibNormalized) const = 0; 00047 virtual bool ComputeMinMaxLuminance(const AbstractImage& iImage, double& oMinLuminance, double& oMaxLuminance, bool ibNormalized) const = 0; 00048 00049 virtual bool ComputeMean(const AbstractImage& iImage, double& oMean, bool ibNormalized) const = 0; 00050 virtual bool ComputeMean(const AbstractImage& iImage, double (&oMean)[PC_MAX], bool ibNormalized) const = 0; 00051 00052 virtual bool ComputeMedian(const AbstractImage& iImage, double& oMedian, bool ibNormalized) const = 0; 00053 virtual bool ComputeMedian(const AbstractImage& iImage, double (&oMedian)[PC_MAX], bool ibNormalized) const = 0; 00054 00055 virtual bool ComputeStandardDeviation(const AbstractImage& iImage, double& oDeviation, bool ibNormalized) const = 0; 00056 virtual bool ComputeStandardDeviation(const AbstractImage& iImage, double(&oDeviation)[PC_MAX], bool ibNormalized) const = 0; 00057 00058 virtual bool ComputeStandardDeviation(const AbstractImage& iImage, double& oDeviation, double& oMean, bool ibNormalized) const = 0; 00059 virtual bool ComputeStandardDeviation(const AbstractImage& iImage, double(&oDeviation)[PC_MAX], double (&oMean)[PC_MAX], bool ibNormalized) const = 0; 00060 00061 virtual bool ComputeVariance(const AbstractImage& iImage, double& oVariance) const = 0; 00062 virtual bool ComputeVariance(const AbstractImage& iImage, double(&oVariance)[PC_MAX]) const = 0; 00063 00064 virtual bool ComputeEnergy(const AbstractImage& iImage, double& oEnergy) const = 0; 00065 virtual bool ComputeEnergy(const AbstractImage& iImage, double(&oEnergy)[PC_MAX]) const = 0; 00066 00067 virtual bool ComputeEntropy(const AbstractImage& iImage, double& oEntropy) const = 0; 00068 virtual bool ComputeEntropy(const AbstractImage& iImage, double(&oEntropy)[PC_MAX]) const = 0; 00069 00070 virtual bool ComputeHistogram(const AbstractImage& iImage, ImageHistogram& oHistogram) const = 0; 00071 }; 00072 00073 } // namespace Image 00074 } // namespace eLynx 00075 00076 #endif // __IImageAnalyse_h__