digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::FaceDetector Class Reference

Public Member Functions

 FaceDetector ()
 Provides face detection, that means the process of selecting those regions of a full image which contain face.
 
 FaceDetector (const FaceDetector &other)
 
QString backendIdentifier () const
 
QList< QRectF > detectFaces (const DImg &image, const QSize &originalSize=QSize())
 Scan an image for faces.
 
QList< QRectF > detectFaces (const QImage &image, const QSize &originalSize=QSize())
 Scan an image for faces.
 
QList< QRectF > detectFaces (const QString &imagePath)
 
FaceDetectoroperator= (const FaceDetector &other)
 
QVariantMap parameters () const
 
int recommendedImageSize (const QSize &availableSize=QSize()) const
 
void setParameter (const QString &parameter, const QVariant &value)
 Tunes backend parameters.
 
void setParameters (const QVariantMap &parameters)
 

Static Public Member Functions

static QRect toAbsoluteRect (const QRectF &relativeRect, const QSize &size)
 
static QList< QRect > toAbsoluteRects (const QList< QRectF > &relativeRects, const QSize &size)
 
static QRectF toRelativeRect (const QRect &absoluteRect, const QSize &size)
 
static QList< QRectF > toRelativeRects (const QList< QRect > &absoluteRects, const QSize &size)
 

Constructor & Destructor Documentation

◆ FaceDetector()

Digikam::FaceDetector::FaceDetector ( )

This class provides shallow copying The class is fully reentrant (a single object and its copies are not thread-safe). Deferred creation is guaranteed, that means creation of a FaceDetector object is cheap, the expensive creation of the detection backend is performed when detectFaces is called for the first time.

Member Function Documentation

◆ detectFaces() [1/2]

QList< QRectF > Digikam::FaceDetector::detectFaces ( const DImg image,
const QSize &  originalSize = QSize() 
)

Return a list with regions possibly containing faces. If the image has been downscaled anywhere in the process, provide the original size of the image as this may be of importance in the detection process.

Returns
Found faces are returned in relative coordinates.

◆ detectFaces() [2/2]

QList< QRectF > Digikam::FaceDetector::detectFaces ( const QImage &  image,
const QSize &  originalSize = QSize() 
)

Return a list with regions possibly containing faces. If the image has been downscaled anywhere in the process, provide the original size of the image as this may be of importance in the detection process.

Returns
Found faces are returned in relative coordinates.

◆ recommendedImageSize()

int Digikam::FaceDetector::recommendedImageSize ( const QSize &  availableSize = QSize()) const
Returns
the recommended size if you want to scale images for detection. Larger images can be passed, but may be downscaled.

◆ setParameter()

void Digikam::FaceDetector::setParameter ( const QString &  parameter,
const QVariant &  value 
)

Available parameters:

"speed" vs. "accuracy", 0..1, float "sensitivity" vs. "specificity", 0..1, float.

For both pairs: a = 1-b, you can set either. The first pair changes the ROC curve in a trade for computing time. The second pair moves on a given ROC curve towards more false positives, or more missed faces.