图像清晰度计算处理器
更新时间:2026-04-23
简介
图像清晰度计算处理器
功能描述
-
提供4种专业级清晰度评估方法:
- 拉普拉斯方差法(laplacian) - 基于二阶导数的边缘检测,计算简单快速
- Tenengrad法(tenengrad) - 基于Sobel梯度的边缘强度,对噪声敏感
- Brenner法(brenner) - 基于相邻像素灰度差的简单计算,速度最快
- FFT高频能量法(fft_highfreq) - 基于频域分析的清晰度评估,对模糊更敏感
-
多格式输入支持:
- URL地址(image_ur), BOS地址
- Base64编码(image_base64)
- 二进制流(image_binary)
-
高精度计算:
- 支持处理各种尺寸和格式的图像
- 自动处理NaN值和异常情况
算子参数
输入
| 输入 | 含义 |
|---|---|
| image | 包含输入图像的数组,支持URL/base64/二进制格式 |
输出
| 输出 | 含义 |
|---|---|
| image_sharpness | 包含清晰度计算结果的浮点数组 |
参数
| 参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| image_src_type | str | "image_url" | 输入图像的格式类型,支持:image_url:url地址image_base64:base64编码image_binary:二进制流默认值: "image_url" |
| method | str | "laplacian" | 清晰度计算方法,支持:laplacian(拉普拉斯方差)tenengrad(Tenengrad梯度)brenner(Brenner梯度)fft_highfreq(FFT高频能量)默认为 laplacian。 |
调用示例
Plain Text
1from __future__ import annotations
2
3import os
4import daft
5from daft import col
6
7from daft.aihc.common.udf import aihc_udf
8from daft.aihc.functions.image.image_sharpness import ImageSharpness
9
10if __name__ == "__main__":
11 if os.getenv("DAFT_RUNNER", "native") == "ray":
12 import ray
13 ray.init(dashboard_host="0.0.0.0", ignore_reinit_error=True)
14 daft.set_runner_ray()
15 daft.set_execution_config(actor_udf_ready_timeout=6000, min_cpu_per_task=0)
16
17 samples = {
18 "image": [
19 "file:///local/sample_1.jpg",
20 "file:///mnt/pfs/sample_2.jpg",
21 "file:///mnt/bos/sample_3.jpg",
22 ]
23 }
24
25 image_src_type = "image_url"
26 method = "laplacian"
27
28 ds = daft.from_pydict(samples)
29 ds = ds.with_column(
30 "image_sharpness",
31 aihc_udf(
32 ImageSharpness,
33 construct_args={
34 "image_src_type": image_src_type,
35 "method": method,
36 },
37 batch_size=1,
38 )(col("image")),
39 )
40
41 ds.show()
评价此篇文章
