登录论坛

查看完整版本 : C ++中的图像算术函数


poster
2019-12-10, 16:49
我正在尝试查找/编写将执行与imlincomb (http://www.mathworks.com/access/helpdesk/help/toolbox/images/index.html?/access/helpdesk/help/toolbox/images/imlincomb.html) ()相同的操作的函数。但是,除了使用Intel Performance Primitiives库之外,我不使用任何Matlab API函数就无法在C ++中找到这样的函数,而且我真的不想为此购买许可证,除非我的应用程序确实必须利用它。有什么简单的方法可以实现它,或者如果有任何标准功能可以使工作轻松得多?

提前致谢。


回答:
在任何标准C ++软件包中,绝对没有同类产品。您也许可以在LAPACK中 (http://www.netlib.org/lapack/)使用某些东西,但是我认为最好自己编写一个。这是一个相当简单的功能:每个输出像素都是独立的,并且仅取决于相同坐标下的输入像素。用伪代码:

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阵列,请注意尺寸的顺序!)。



更多&回答... (https://stackoverflow.com/questions/922068)