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

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

面向对象并行图像处理库

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

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

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

class Laplasian {
    int LeftMargin() { return 1; }
    int RightMargin() { return 1; }
    int TopMargin() { return 1; }
    int BottomMargin(){ return 1; }
    int Process(NeighborhoodManipulator& nm) {
        
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值