Open liaosimin-heygen opened 6 months ago
`import ( "fmt" "image" "os" "time" "bytes"
//"golang.org/x/image/webp" "github.com/chai2010/webp"
)
func webpToYuv(imgpath string) *image.Image { defer timeCost("webpToYuv:", time.Now())
// 打开WebP文件 start := time.Now() data,err:=os.ReadFile(imgpath) if err != nil { fmt.Println("open webp file failed:", err) return nil } fmt.Printf("读取文件 %s 耗时:%s\n", imgpath, time.Since(start)) // 解码WebP文件 start2 := time.Now() result, err := webp.Decode(bytes.NewReader(data)) if err != nil { fmt.Println("decode webp file failed:", err) return nil } fmt.Printf("解码文件 %s 耗时:%s\n", imgpath, time.Since(start2)) return &result
} ` 使用golang.org/x/image/webp的结果: webpToYuv: took 51.727646ms 读取文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00814.webp 耗时:8.154499ms 解码文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00814.webp 耗时:44.984073ms
使用github.com/chai2010/webp的结果: webpToYuv: took 105.325294ms 读取文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00797.webp 耗时:1.161915ms 解码文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00797.webp 耗时:99.458595ms
`import ( "fmt" "image" "os" "time" "bytes"
)
func webpToYuv(imgpath string) *image.Image { defer timeCost("webpToYuv:", time.Now())
} ` 使用golang.org/x/image/webp的结果: webpToYuv: took 51.727646ms 读取文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00814.webp 耗时:8.154499ms 解码文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00814.webp 耗时:44.984073ms
使用github.com/chai2010/webp的结果: webpToYuv: took 105.325294ms 读取文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00797.webp 耗时:1.161915ms 解码文件 /mnt/realtime/josh_lite3_20230714/rgb/cluster_1/00797.webp 耗时:99.458595ms