pyflink.multimodal.operators.image_face_blur#
- image_face_blur(*columns, cv_classifier='haarcascade_frontalface_alt.xml', blur_type='gaussian', radius=2, min_neighbors=3, scale_factor=1.1, min_size=None, max_size=None, concurrency=None)[source]#
Create a face blurring UDF (OpenCV Haar Cascade + PIL-based).
Requires
pip install opencv-python Pillow. This is a scalar UDF that returns a decoded image.- Parameters
*columns – Optional image column(s). When provided, the UDF is applied directly instead of returning a factory.
cv_classifier – OpenCV Haar cascade XML filename. Must be a bare filename without path separators. Default
"haarcascade_frontalface_alt.xml".blur_type – Blur filter type. One of
"gaussian","box". Default"gaussian".radius – Blur kernel radius in pixels. Default
2is a light visual blur; use a larger value for privacy/anonymization.min_neighbors – OpenCV
detectMultiScaleminNeighborsvalue. Higher values reduce false positives but may miss faces. Default3.scale_factor – Image pyramid scale factor for multi-scale detection. Default
1.1.min_size – Minimum face size as
(width, height)tuple in pixels. Detections smaller than this are ignored.None(default) uses OpenCV’s built-in minimum.max_size – Maximum face size as
(width, height)tuple in pixels. Detections larger than this are ignored.None(default) imposes no upper limit.concurrency – UDF concurrency.
Noneuses the framework default.
- Returns
- A UDF that returns a decoded image with faces blurred,
or
Nonefor null input. Unsupported decoded image outputs fail fast at the codec boundary.
- Raises
ValueError – If blur or detection parameters are invalid.
Usage:
>>> # As a reusable variable >>> blur = image_face_blur(blur_type="gaussian", radius=3) >>> df = df.with_column("blurred", blur(col("img"))) >>> >>> # Inline >>> df = df.with_column("blurred", image_face_blur(col("img")))