41、面向对象并行图像处理库与分布式计算调度策略

面向对象并行图像处理库与分布式计算调度策略

1. 面向对象并行图像处理库

在设计面向对象并行图像处理库时,需要在两种 C++ 参数化机制中做出选择:
- 继承 :通用操作参数是对抽象基类(接口)的引用,该基类具有纯虚 Process() 方法,用于根据当前像素值计算新的像素值;具体算法类从基类派生并覆盖 Process() 方法。
- 模板 :通用操作是一个模板方法,由具体算法类进行参数化。

从性能和通用性考虑,SSCC_PIPL 采用了第二种方法。这种选择将计算模型抽象级别提高所带来的开销从程序执行时间转移到了编译时间。此外,这种方法允许对计算像素值的函数进行所谓的嵌入,即将函数体的副本插入到函数调用的每个位置,而虚函数则不支持这种嵌入。因此,该库必须以源代码形式分发,用户程序的编译时间会变长,但执行速度会更快。

1.1 示例源代码

以下是一个简化的程序,展示了该库的典型用例,定义了用户算法并将其作为参数传递给相应的 Image 模板方法。

class Laplasian {
    int LeftMargin() { return 1; }
    int RightMargin() { return 1; }
    int TopMargin() { return 1; }
    int BottomMargin(){ return 1; }
    int Process(Neighb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值