CPPxDIC
C++ Digital Image Correlation library for fingertip 3D reconstruction
Loading...
Searching...
No Matches
cppxdic::ImageProcessor Class Reference

ImageProcessor class Provides image preprocessing operations for DIC analysis. More...

#include <image_processor.h>

Static Public Member Functions

static std::vector< cv::Mat > saturate (const std::vector< cv::Mat > &input, int level)
 Saturate image intensities Equivalent to satur.m in Matlab.
 
static cv::Mat saturate (const cv::Mat &input, int level, const std::string &method="high")
 Saturate single image.
 
static std::pair< std::vector< cv::Mat >, std::pair< double, double > > filterLikeBen (const std::vector< cv::Mat > &input, const cv::Mat &mask, const std::vector< int > &param_filt, const std::pair< double, double > *gs_boundaries=nullptr)
 Filter images like Ben's method Equivalent to filter_like_ben.m in Matlab.
 
static cv::Mat applyBandpassFilter (const cv::Mat &input, const std::vector< int > &param_filt)
 Apply bandpass filter to image using FFT.
 
static std::pair< double, double > computeGrayscaleBoundaries (const cv::Mat &image, const cv::Mat &mask)
 Compute grayscale boundaries from masked region using min/max.
 
static std::pair< double, double > computePercentileBoundaries (const cv::Mat &image, const cv::Mat &mask, double lower_percentile, double upper_percentile)
 Compute grayscale boundaries using percentiles.
 
static cv::Mat normalizeAndClamp (const cv::Mat &image, const std::pair< double, double > &boundaries)
 Normalize and clamp image to [0, 255] using boundaries.
 
static std::vector< cv::Mat > loadImages (const std::vector< std::string > &paths, bool grayscale=true)
 Load images from file paths.
 
static bool saveImages (const std::vector< cv::Mat > &images, const std::string &base_path, const std::string &prefix)
 Save images to disk.
 
static cv::Mat blurOutsideMask (const cv::Mat &img, const cv::Mat &mask, int kwidth=25, int kheight=25)
 Blur the outside of a mask.
 

Detailed Description

ImageProcessor class Provides image preprocessing operations for DIC analysis.

Definition at line 20 of file image_processor.h.

Member Function Documentation

◆ applyBandpassFilter()

cv::Mat cppxdic::ImageProcessor::applyBandpassFilter ( const cv::Mat &  input,
const std::vector< int > &  param_filt 
)
static

Apply bandpass filter to image using FFT.

Parameters
inputInput image
param_filtFiltering parameters [low_freq, high_freq]
Returns
Filtered image (float)

Definition at line 89 of file image_processor.cpp.

◆ blurOutsideMask()

cv::Mat cppxdic::ImageProcessor::blurOutsideMask ( const cv::Mat &  img,
const cv::Mat &  mask,
int  kwidth = 25,
int  kheight = 25 
)
static

Blur the outside of a mask.

Parameters
imgInput image
maskROI mask
kwidthKernel width for Gaussian blur
kheightKernel height for Gaussian blur
Returns
Blurred image

Definition at line 314 of file image_processor.cpp.

◆ computeGrayscaleBoundaries()

std::pair< double, double > cppxdic::ImageProcessor::computeGrayscaleBoundaries ( const cv::Mat &  image,
const cv::Mat &  mask 
)
static

Compute grayscale boundaries from masked region using min/max.

Parameters
imageInput image
maskROI mask
Returns
Grayscale boundaries [min, max]

Definition at line 158 of file image_processor.cpp.

◆ computePercentileBoundaries()

std::pair< double, double > cppxdic::ImageProcessor::computePercentileBoundaries ( const cv::Mat &  image,
const cv::Mat &  mask,
double  lower_percentile,
double  upper_percentile 
)
static

Compute grayscale boundaries using percentiles.

Parameters
imageInput image (CV_32F)
maskROI mask
lower_percentileLower percentile (e.g., 5.0 for 5th percentile)
upper_percentileUpper percentile (e.g., 95.0 for 95th percentile)
Returns
Grayscale boundaries [lower, upper]

Definition at line 180 of file image_processor.cpp.

◆ filterLikeBen()

std::pair< std::vector< cv::Mat >, std::pair< double, double > > cppxdic::ImageProcessor::filterLikeBen ( const std::vector< cv::Mat > &  input,
const cv::Mat &  mask,
const std::vector< int > &  param_filt,
const std::pair< double, double > *  gs_boundaries = nullptr 
)
static

Filter images like Ben's method Equivalent to filter_like_ben.m in Matlab.

Parameters
inputInput images (saturated)
maskROI mask
param_filtFiltering parameters [low, high]
gs_boundariesOptional pre-computed grayscale boundaries
Returns
Filtered images and grayscale boundaries

Definition at line 59 of file image_processor.cpp.

◆ loadImages()

std::vector< cv::Mat > cppxdic::ImageProcessor::loadImages ( const std::vector< std::string > &  paths,
bool  grayscale = true 
)
static

Load images from file paths.

Parameters
pathsVector of image file paths
grayscaleLoad as grayscale if true
Returns
Vector of loaded images

Definition at line 253 of file image_processor.cpp.

◆ normalizeAndClamp()

cv::Mat cppxdic::ImageProcessor::normalizeAndClamp ( const cv::Mat &  image,
const std::pair< double, double > &  boundaries 
)
static

Normalize and clamp image to [0, 255] using boundaries.

Parameters
imageInput image (CV_32F)
boundariesGrayscale boundaries [min, max]
Returns
Normalized and clamped image (CV_8UC1)

Definition at line 221 of file image_processor.cpp.

◆ saturate() [1/2]

cv::Mat cppxdic::ImageProcessor::saturate ( const cv::Mat &  input,
int  level,
const std::string &  method = "high" 
)
static

Saturate single image.

Parameters
inputInput image
levelGrayscale limit for saturation
methodSaturation method ('high' or 'low')
Returns
Saturated image

Definition at line 30 of file image_processor.cpp.

◆ saturate() [2/2]

std::vector< cv::Mat > cppxdic::ImageProcessor::saturate ( const std::vector< cv::Mat > &  input,
int  level 
)
static

Saturate image intensities Equivalent to satur.m in Matlab.

Parameters
inputInput images (vector of cv::Mat)
levelGrayscale limit for saturation
Returns
Saturated images

Definition at line 19 of file image_processor.cpp.

◆ saveImages()

bool cppxdic::ImageProcessor::saveImages ( const std::vector< cv::Mat > &  images,
const std::string &  base_path,
const std::string &  prefix 
)
static

Save images to disk.

Parameters
imagesVector of images to save
base_pathBase directory path
prefixFilename prefix
Returns
Success status

Definition at line 270 of file image_processor.cpp.


The documentation for this class was generated from the following files: