19 #include <type_traits> 160 inline void SetFactor(std::uint32_t factor);
214 *
this = std::move(other);
219 if (other.m_backendHandle)
224 m_backendHandle = other.m_backendHandle;
236 if (other.m_backendHandle)
243 m_backendHandle = other.m_backendHandle;
252 if (m_backendHandle !=
nullptr)
257 m_backendHandle = other.m_backendHandle;
258 other.m_backendHandle =
nullptr;
268 m_backendHandle, ImageBackendAccessor::BackendHandle(image));
278 m_backendHandle, ImageBackendAccessor::BackendHandle(image), &handle);
281 return ImageBackendAccessor::CreateImage(handle);
290 static_cast<PEAK_IPL_PIXEL_FORMAT>(pixelFormatName), &isPixelFormatSupported);
293 return isPixelFormatSupported != 0;
300 m_backendHandle, factor);
310 m_backendHandle, &factor);
322 m_backendHandle, &factor);
334 m_backendHandle, &range);
337 return { range.min, range.max, range.inc };
#define PEAK_IPL_NO_DISCARD
Definition: peak_ipl_backend.h:26
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_GetFactorRange(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle, struct PEAK_IPL_RANGE *range)
Get the range of valid factors for edge enhancement.
#define PEAK_IPL_C_ABI_PREFIX
Definition: peak_ipl_dll_defines.h:16
struct PEAK_IPL_EDGE_ENHANCEMENT * PEAK_IPL_EDGE_ENHANCEMENT_HANDLE
Definition: peak_ipl_backend.h:377
PixelFormatName
Enum holding the possible pixel format names.
Definition: peak_ipl_simple_types.hpp:38
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_SetFactor(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle, uint32_t factor)
Set the factor for edge enhancement.
PEAK_IPL_NO_DISCARD peak::ipl::Range< std::uint32_t > Range() const
Get the range for the edge enhancement factor.
Definition: peak_ipl_edge_enhancement.hpp:328
The "peak::ipl" namespace contains the whole image processing library.
Definition: peak_ipl_binning.hpp:22
PEAK_IPL_NO_DISCARD std::uint32_t DefaultFactor() const
Get the default edge enhancement factor.
Definition: peak_ipl_edge_enhancement.hpp:316
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_IsPixelFormatSupported(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Asks the given edge enhancement whether it supports the given pixel format.
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_Process(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Process the given image with edge enhancement.
void ExecuteAndMapReturnCodes(const CallableType &callableObject)
Definition: peak_ipl_exception.hpp:182
PEAK_IPL_NO_DISCARD std::uint32_t Factor() const
Get the edge enhancement factor.
Definition: peak_ipl_edge_enhancement.hpp:304
EdgeEnhancement()
Constructor for a new EdgeEnhancement instance.
Definition: peak_ipl_edge_enhancement.hpp:199
PEAK_IPL_NO_DISCARD bool IsPixelFormatSupported(PixelFormatName pixelFormatName) const
Check if the pixel format is supported.
Definition: peak_ipl_edge_enhancement.hpp:284
Stores the pixel format, width and height of an image and the pointer to the image buffer...
Definition: peak_ipl_image.hpp:39
Definition: peak_ipl_backend.h:316
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_Construct(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE *handle)
Create the edge enhancement associated with the given handle.
struct PEAK_IPL_IMAGE * PEAK_IPL_IMAGE_HANDLE
Definition: peak_ipl_backend.h:357
EdgeEnhancement & operator=(const EdgeEnhancement &other)
Copy assigment for EdgeEnhancement instance.
Definition: peak_ipl_edge_enhancement.hpp:227
Range support and convenience class.
Definition: peak_ipl_range.hpp:30
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_Destruct(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle)
Destruct the edge enhancement associated with the given handle.
void ProcessInPlace(Image &image) const
Process an image.
Definition: peak_ipl_edge_enhancement.hpp:264
void SetFactor(std::uint32_t factor)
Set the edge enhancement factor.
Definition: peak_ipl_edge_enhancement.hpp:296
int8_t PEAK_IPL_BOOL8
Definition: peak_ipl_backend.h:41
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_Acquire(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle)
Increase the reference count of an edge enhancement object.
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_ProcessInPlace(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Process the given image with edge enhancement.
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_GetDefaultFactor(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle, uint32_t *factor)
Get the default factor for edge enhancement.
PEAK_IPL_NO_DISCARD Image Process(const Image &image) const
Process an image.
Definition: peak_ipl_edge_enhancement.hpp:272
~EdgeEnhancement()
Destructor for the EdgeEnhancement instance.
Definition: peak_ipl_edge_enhancement.hpp:204
Edge Enhancement for a given image.
Definition: peak_ipl_edge_enhancement.hpp:39
PEAK_IPL_C_API PEAK_IPL_EdgeEnhancement_GetFactor(PEAK_IPL_EDGE_ENHANCEMENT_HANDLE handle, uint32_t *factor)
Get the factor for edge enhancement.