Flo*_*lla 4 c++ image vector chaining juce
这是我第一次来这里。
我目前正在尝试通过遍历所有像素并对那里的颜色进行处理来编写一个用于后处理图像的类。
我的想法是添加诸如posterize()或rgbSplit()等之类的方法。当它们被初始化时,它不会遍历每个效果的所有像素,因为这不是很有效。我希望它存储这样一个事实,即当我使用名为process().
但是因此我必须将效果代码的引用存储在列表中(如向量),对吗?因为那样我就可以进入forx 和 y 坐标的-loop 并在那里添加另一个 for 循环,它遍历应该应用于像素的所有方法。
问题是,我不知道如何在向量中存储方法。这甚至可能吗?还是矢量仅适用于对象?或者我可以以某种方式“客观化”一个方法?或者我现在必须做的事情是什么?
这个问题非常广泛。但是我知道您还处于起步阶段,在编写一些代码之前需要知道是否可能。
所以这里有一个快速的低级答案:
std::function,它比原始函数指针更强大和灵活;operator()用于实现经典函子)。但是在更高的层次上,您需要更好地考虑您的设计:
所以你的设计需要同时处理这两种算法。例如,您可以首先将链中的初步像素变换应用于所有像素,然后仅对已变换的像素组运行算法,然后在链中继续。
此外,正如Daniel McLaury在评论中指出的那样,另一个问题是,从性能的角度来看,逐个像素地调用算法是否有意义。也许链接算法是个好主意,但在图像转换级别而不是像素级别。
一旦您考虑到这一点,并开始使用上述想法之一实施解决方案,您可能会带着更精确的问题回到这里,并用一些代码进行说明。
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |