如何找到图像处理算法的计算复杂度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何找到图像处理算法的计算复杂度相关的知识,希望对你有一定的参考价值。

我试图找到关于像素数量的算法的计算复杂度,我需要遵循什么程序。该算法基于图像配准。

答案

作为粗略测量,您可以查看循环次数,或算法查看/编辑每个像素的次数。

例如该算法将图像转换为棕褐色

BufferedImage img = <input of the algorithm>
for(int i=0;i<img.getWidth();i++){
    for(int j=0;j<img.getHeight();j++){
        Color c = new Color(img.getRGB(i,j));
        double r = c.getRed();
        double g = c.getGreen();
        double b = c.getBlue();

        double r2 = 0.39 * r + 0.76 * g + 0.19 * b;
        double g2 = 0.34 * r + 0.69 * g + 0.17 * b;
        double b2 = 0.27 * r + 0.53 * g + 0.13 * b;
    }
}

我可以看到有两个循环,一个循环遍历图像的宽度,一个迭代图像的高度。

通过该算法一次访问每个像素。其复杂度为O(n),n为输入图像中的像素数。

以上是关于如何找到图像处理算法的计算复杂度的主要内容,如果未能解决你的问题,请参考以下文章

如何找到算法的时间复杂度

pyhton—opencv直线检测(HoughLines)找到最长的一条线

pyhton—opencv直线检测(HoughLines)找到最长的一条线

如何从复杂的研究论文中处理写作算法

复杂度分析(上):如何分析统计算法的执行效率和资源消耗

重学数据结构与算法