我正在努力实现用C++进行图像卷积的操作,已经根据给定的伪代码编写了一个基础版本:
Image convolutionfor each image row in input image:
for each pixel in image row:
set accumulator to zero
for each kernel row in kernel:
for each element in kernel row:
if element position corresponding* to pixel position then
multiply element value corresponding* to pixel value
add result to accumulator
endif
set output image pixel to accumulator
当处理大型图像和内核时,这可能是一个很大的瓶颈,我想知道是否存在其他方法来加快处理速度?即使有额外的输入信息,如:稀疏图像或内核,已知内核等...
我知道这可以并行处理,但在我的情况下无法实现。