Image Component Library (ICL)
|
#include <ICLUtils/SmartPtr.h>
#include <ICLUtils/Exception.h>
#include <ICLCore/ImgBase.h>
#include <ICLCore/ImgIterator.h>
#include <ICLCore/Channel.h>
#include <ICLCore/PixelRef.h>
#include <ICLMath/DynMatrix.h>
#include <cmath>
#include <algorithm>
Go to the source code of this file.
Classes | |
class | icl::core::Img< Type > |
The Img class implements the ImgBase Image interface with type specific functionalities \. More... | |
struct | icl::core::ImgBasePtrPtr< T > |
utility class that helps for an implicit conversion between Img<T>* to ImgBase** More... | |
Namespaces | |
namespace | icl |
The ICL-namespace. | |
namespace | icl::core |
Defines | |
#define | CHECK_VALUES(src, srcC, srcOffs, srcSize, dst, dstC, dstOffs, dstSize) |
Functions | |
template<class T > | |
ImgBasePtrPtr< T > | icl::core::bpp (Img< T > *image) |
utility function to cast an Img<T> implicitly into an ImgBase ** | |
template<class T > | |
ImgBasePtrPtr< T > | icl::core::bpp (Img< T > &image) |
utility function to cast an Img<T>* implicitly into an ImgBase ** | |
template<class T > | |
static T | icl::core::p2o (T *ptr) |
Conversion function to transform a pointer into an object. | |
template<class ImgType > | |
const ImgType * | icl::core::combineImages (const std::vector< const ImgType * > &vec) |
Combine several images using shallow copy. | |
template<class ImgType > | |
ImgType * | icl::core::combineImages (const std::vector< ImgType * > &vec) |
Combine several images using shallow copy. Non-const version. | |
template<class T > | |
void | icl::core::deepCopyChannel (const Img< T > *src, int srcC, Img< T > *dst, int dstC) |
Copies the channel from one image to another. | |
template<class S , class D > | |
void | icl::core::convertChannel (const Img< S > *src, int srcC, Img< D > *dst, int dstC) |
copies/converts the data from one image to another image (IPP-OPTIMIZED) | |
template<class T > | |
void | icl::core::clearChannelROI (Img< T > *im, int c, T clearVal, const utils::Point &offs, const utils::Size &size) |
sets an arbitrary image ROI to a given value | |
template<class T > | |
void | icl::core::deepCopyChannelROI (const Img< T > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcSize, Img< T > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstSize) |
type conversion of channel ROIs | |
copies/converts the ROI data from one image to the ROI of another image (IPP-OPTIMIZED) | |
template<class S , class D > | |
void | icl::core::convertChannelROI (const Img< S > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcROISize, Img< D > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstROISize) |
scaling of channel ROIs | |
scales an image channels ROI into another images ROI (with implicit type conversion) (IPP-OPTIMIZED) | |
template<class T > | |
ICLCore_API void | icl::core::scaledCopyChannelROI (const Img< T > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcSize, Img< T > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstSize, scalemode eScaleMode) |
template<class T > | |
ICLCore_API void | icl::core::flippedCopyChannelROI (axis eAxis, const Img< T > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcSize, Img< T > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstSize) |
mirror copy ROI data from one image to the ROI of another image (IPP-OPTIMIZED) | |
ICLCore_API void | icl::core::flippedCopy (axis eAxis, const ImgBase *poSrc, ImgBase **ppoDst=0) |
mirror copy of an image from source to destination image (1:1 copy) | |
ICLCore_API void | icl::core::flippedCopyROI (axis eAxis, const ImgBase *poSrc, ImgBase **ppoDst=0) |
mirror copy of an images ROI into a destination images ROI |
#define CHECK_VALUES | ( | src, | |
srcC, | |||
srcOffs, | |||
srcSize, | |||
dst, | |||
dstC, | |||
dstOffs, | |||
dstSize | |||
) |
FUNCTION_LOG(""); \ ICLASSERT_RETURN( src && dst ); \ ICLASSERT_RETURN( srcSize == dstSize ); \ ICLASSERT_RETURN( src->validChannel(srcC) ); \ ICLASSERT_RETURN( dst->validChannel(dstC) ); \ ICLASSERT_RETURN( srcOffs.x >= 0 && srcOffs.y >= 0 && dstOffs.x >= 0 && dstOffs.y >= 0); \ ICLASSERT_RETURN( srcOffs.x+srcSize.width <= src->getWidth() && srcOffs.y+srcSize.height <= src->getHeight() ); \ ICLASSERT_RETURN( dstOffs.x+dstSize.width <= dst->getWidth() && dstOffs.y+dstSize.height <= dst->getHeight() );