5# include "../_cexports/c_foundation.h"
7# include "../global.hpp"
8# include "../image.hpp"
9# include "../exception.hpp"
10# include "../point_2d.hpp"
11# include "../size_2d.hpp"
95 int lowerThreshold,
int upperThreshold)
97 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
99 static_cast<CExports::TCannyEdgeFilter
>(edgeFilter), lowerThreshold,
100 upperThreshold, resimg));
114 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
115 return CVB_CALL_CAPI(FilterLaplace(image.
Handle(),
static_cast<CExports::TFilterMask
>(size), resimg));
128 return Internal::DoResCallObjectOut<Image>(
142 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
143 return CVB_CALL_CAPI(
FilterLoPass(image.
Handle(),
static_cast<CExports::TFilterMask
>(size), resimg));
157 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
158 return CVB_CALL_CAPI(
FilterHiPass(image.
Handle(),
static_cast<CExports::TFilterMask
>(size), resimg));
172 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
173 return CVB_CALL_CAPI(
FilterGauss(image.
Handle(),
static_cast<CExports::TFilterMask
>(size), resimg));
190 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
192 maskOffset.
Y(), resimg));
225 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
227 maskOffset.
Y(), resimg));
260 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
262 maskOffset.
Y(), resimg));
295 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
297 maskOffset.
Y(), resimg));
329 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
354 double noiseThreshold = 0.0)
356 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
358 maskOffset.
Y(), noiseThreshold, resimg));
400 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
430 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
462 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
465 return CVB_CALL_CAPI(
470 return CVB_CALL_CAPI(
496 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
499 return CVB_CALL_CAPI(
504 return CVB_CALL_CAPI(
528 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
529 return CVB_CALL_CAPI(
FilterSobelCross(image.
Handle(),
static_cast<CExports::TFilterMask
>(maskSize), resimg));
546 return Internal::DoResCallObjectOut<Image>([&](
void *&resimg) {
The Common Vision Blox image.
Definition decl_image.hpp:45
void * Handle() const noexcept
Classic API image handle.
Definition decl_image.hpp:232
Image plane information container.
Definition decl_image_plane.hpp:29
int Plane() const noexcept
Plane index in the image, to which this plane refers to.
Definition decl_image_plane.hpp:147
const Image & Parent() const noexcept
Image to which this plane descriptor refers to.
Definition detail_image_plane.hpp:87
Multi-purpose 2D vector class.
Definition point_2d.hpp:20
T X() const noexcept
Gets the x-component of the point.
Definition point_2d.hpp:84
T Y() const noexcept
Gets the y-component of the point.
Definition point_2d.hpp:104
Stores a pair of numbers that represents the width and the height of a subject, typically a rectangle...
Definition size_2d.hpp:20
T Height() const noexcept
Gets the vertical component of the size.
Definition size_2d.hpp:77
T Width() const noexcept
Gets the horizontal component of the size.
Definition size_2d.hpp:57
cvbres_t FilterPrewittHorizontal(IMG ImgIn, IMG &ImgOut)
cvbres_t FilterBoxMedian(IMG ImgIn, long MaskWidth, long MaskHeight, long MaskOffsetX, long MaskOffsetY, IMG &ImgOut)
cvbres_t FilterSobelHorizontal2ndOrder(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
cvbres_t FilterBoxMax(IMG ImgIn, long MaskWidth, long MaskHeight, long MaskOffsetX, long MaskOffsetY, IMG &ImgOut)
cvbres_t FilterHiPass(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
cvbres_t FilterRobertsDown(IMG ImgIn, IMG &ImgOut)
cvbres_t FilterCanny(IMG ImgIn, long Index, TCannyEdgeFilter Filtering, long ThresholdLower, long ThresholdUpper, IMG &ImgOut)
cvbres_t FilterPrewittVertical(IMG ImgIn, IMG &ImgOut)
cvbres_t FilterGauss(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
cvbres_t FilterSobelHorizontal(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
cvbres_t FilterSobelVertical2ndOrder(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
cvbres_t FilterBoxMin(IMG ImgIn, long MaskWidth, long MaskHeight, long MaskOffsetX, long MaskOffsetY, IMG &ImgOut)
cvbres_t FilterSharpening(IMG ImgIn, IMG &ImgOut)
cvbres_t FilterWiener(IMG ImgIn, long MaskWidth, long MaskHeight, long MaskOffsetX, long MaskOffsetY, double NoiseThreshold, IMG &ImgOut)
cvbres_t FilterScharrHorizontal(IMG ImgIn, IMG &ImgOut)
cvbres_t FilterScharrVertical(IMG ImgIn, IMG &ImgOut)
cvbres_t FilterMedianColor(IMG ImgIn, TFilterMask MaskType, IMG &ImgOut)
cvbres_t FilterLoPass(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
cvbres_t FilterRobertsUp(IMG ImgIn, IMG &ImgOut)
cvbres_t FilterSobelCross(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
cvbres_t FilterBoxMean(IMG ImgIn, long MaskWidth, long MaskHeight, long MaskOffsetX, long MaskOffsetY, IMG &ImgOut)
cvbres_t FilterSobelVertical(IMG ImgIn, TFilterMask MaskSize, IMG &ImgOut)
Namespace for collection of filter functions from the Foundation package.
Definition filter.hpp:28
std::unique_ptr< Image > Roberts(const Image &image, Filter::RobertsDirection direction)
Apply a Roberts edge detector to the input image.
Definition filter.hpp:544
std::unique_ptr< Image > Laplace(const Image &image, Filter::FixedFilterSize size)
This function applies a square high pass Laplace filter to an image.
Definition filter.hpp:112
std::unique_ptr< Image > Sobel(const Image &image, Filter::FilterOrientation orientation, Filter::FixedFilterSize maskSize)
Applies a Sobel edge filter to the input image.
Definition filter.hpp:459
std::unique_ptr< Image > LowPass(const Image &image, Filter::FixedFilterSize size)
This function applies a square low pass filter to an image.
Definition filter.hpp:140
EdgeFilter
Edge filter modes. Currently only used by Canny().
Definition filter.hpp:58
@ Scharr
Scharr edge detection.
Definition filter.hpp:60
@ Sobel2nd
2nd order Sobel filter.
Definition filter.hpp:64
@ Sobel
1st order Sobel filter.
Definition filter.hpp:62
FilterOrientation
Orientation options for edge filters.
Definition filter.hpp:49
@ Vertical
Vertical.
Definition filter.hpp:53
@ Horizontal
Horizontal.
Definition filter.hpp:51
std::unique_ptr< Image > BoxMax(const Image &image, Size2D< int > maskSize, Point2D< int > maskOffset)
This function sets each pixel in the output image to the maximum value of all the input image pixels ...
Definition filter.hpp:258
std::unique_ptr< Image > BoxMedian(const Image &image, Size2D< int > maskSize, Point2D< int > maskOffset)
This function sets each pixel in the output image to the median value of all the input image pixels i...
Definition filter.hpp:293
std::unique_ptr< Image > Canny(const ImagePlane &imagePlane, Filter::EdgeFilter edgeFilter, int lowerThreshold, int upperThreshold)
Edge filter using the Canny algorithm.
Definition filter.hpp:94
std::unique_ptr< Image > BoxMin(const Image &image, Size2D< int > maskSize, Point2D< int > maskOffset)
This function sets each pixel in the output image to the minimum value of all the input image pixels ...
Definition filter.hpp:223
std::unique_ptr< Image > BoxMean(const Image &image, Size2D< int > maskSize, Point2D< int > maskOffset)
This function sets each pixel in the output image to the average of all the input image pixels in the...
Definition filter.hpp:188
std::unique_ptr< Image > HighPass(const Image &image, Filter::FixedFilterSize size)
This function applies a square high pass filter to an image.
Definition filter.hpp:155
std::unique_ptr< Image > Gauss(const Image &image, Filter::FixedFilterSize size)
This function applies a low high pass Gaussian filter to an image.
Definition filter.hpp:170
RobertsDirection
Directions of the Roberts edge filter.
Definition filter.hpp:69
@ Down
Filter for edges, that are positive when looking from the top left corner.
Definition filter.hpp:73
@ Up
Filter for edges, that are positive when looking from the top right corner.
Definition filter.hpp:71
std::unique_ptr< Image > Sharpen(const Image &image)
This function applies a Filter::FixedFilterSize::Kernel3x3 sharpen filter to an image.
Definition filter.hpp:126
std::unique_ptr< Image > ColorMedian(const Image &image, Filter::FixedFilterSize maskType)
Apply a color-correct box median filter to an RGB image.
Definition filter.hpp:327
std::unique_ptr< Image > Sobel2ndCross(const Image &image, Filter::FixedFilterSize maskSize)
Applies a 2nd order Sobel cross edge filter to the input image.
Definition filter.hpp:526
FixedFilterSize
Filter size values for filters using a fixed or discrete sized kernel.
Definition filter.hpp:38
@ Kernel5x5
Filter mask 5x5 pixels.
Definition filter.hpp:42
@ Kernel3x3
Filter mask 3x3 pixels.
Definition filter.hpp:40
@ Kernel7x7
Filter mask 7x7 pixels.
Definition filter.hpp:44
std::unique_ptr< Image > Prewitt(const Image &image, Filter::FilterOrientation orientation)
Applies a Prewitt edge filter to the input image.
Definition filter.hpp:398
std::unique_ptr< Image > Scharr(const Image &image, Filter::FilterOrientation orientation)
Applies a Scharr edge filter to the input image.
Definition filter.hpp:428
std::unique_ptr< Image > Wiener(const Image &image, Size2D< int > maskSize, Point2D< int > maskOffset, double noiseThreshold=0.0)
This function performs adaptive filtering of an image degraded by constant power additive noise.
Definition filter.hpp:353
std::unique_ptr< Image > Sobel2nd(const Image &image, Filter::FilterOrientation orientation, Filter::FixedFilterSize maskSize)
Applies a 2nd order Sobel edge filter to the input image.
Definition filter.hpp:493
Namespace for the Foundation package.
Definition decl_metric_aqs12_calibration_piece.hpp:11
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17