我正在尝试查找/编写一个与imlincomb()执行相同操作的函数。但是,我在使用C ++而不使用除Intel Performance Primitiives库之外的任何Matlab API函数时遇到这样的函数时遇到了麻烦,我真的不想为它购买许可证,除非我的应用程序真的必须利用它。实现它的简单方法是什么,或者是否有任何标准函数可以使工作变得更容易?
提前致谢。
答案 0 :(得分:2)
在任何标准C ++包中绝对没有任何类型。您可以在LAPACK中使用某些内容,但我认为您最好自己编写。{3}}。这是一个相当简单的功能:每个输出像素是独立的,仅取决于相同坐标处的输入像素。在伪代码中:
for each row y in [0, height-1]
for each column x in [0, width-1]
for each color channel c in (R, G, B)
output[y][x][c] = 0
for each input i
output[y][x][c] += weight[i] * input[i][y][x][c]
当然,确切的配方取决于您的图像存储的准确程度(3D阵列,2D阵列或1D阵列,并且要注意尺寸的顺序!)。