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

标签 algorithm image-processing video-processing image-registration

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

最佳答案

作为一个粗略的衡量标准,您可以查看循环次数,或者每个像素被算法查看/编辑的次数。

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

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 是输入图像中的像素数。

关于algorithm - 如何找到图像处理算法的计算复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55438638/

相关文章:

c++ - 从OpenCV的视频捕获中仅读取mp4文件的一部分

c# - 使用 EMGUcv 进行颜色跟踪

algorithm - 如何最大化每个 btree 节点的元素数量

python - 用所有相交条目的并集更新所有列表条目的最快方法

c++ - OpenCV:使用霍夫圆变换检测虹膜

python - 从图像中去除虚假文本区域

python - 根据像素颜色的变化找到坐标

algorithm - 当 c > 0 Log(n) = O(n) 时?不确定为什么不是 O(log n)

Javascript 掩码计算

c# - c# 中的运动检测和对象提取?