登录
首页 >  Golang >  Go问答

在 Golang 中,使用 img.At() 还是 rgba.Pix() 来检索像素数据更高效?

来源:stackoverflow

时间:2024-03-08 10:24:20 235浏览 收藏

本篇文章给大家分享《在 Golang 中,使用 img.At() 还是 rgba.Pix() 来检索像素数据更高效?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

阅读 Get a Pixel array from from golang image.Image 的答案,我发现有两种像素 RGBA 检索方法,通过 img.At()rgba.Pix()

哪个更好用?是否应该始终使用其中一种,或者是否存在应使用其中一种而不是另一种的情况,反之亦然?


正确答案


如果您的程序将进行需要大部分(如果不是全部)像素数据的计算,则 rgba.pix() 显着优于 img.at()。如果您只需要图像中单个或几个像素的像素数据,请使用 img.at() (在这种情况下计算 rgba.pix() 先决条件的开销太高)。

以下是各种测试负载的结果,每个测试负载的持续时间是 10 个样本的平均值。

Method 1x1 1000x667 3840x2160 1000x667 + computation 1000x667 only 5x5 accessed
img.At() 195ns 30.211071ms 294.885396ms 853.345043ms 42.431μs
rgba.Pix() 719ns 7.786029ms 77.700552ms 836.480063ms 6.791461ms

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>