OpenCV中是否有一个采用输入矩阵,输出矩阵和函数的方法,并将此函数应用于每个像素?例如"检查像素值,如果它低于某个阈值,则将其设置为0,否则保持值"
我知道我可以在矩阵的像素上迭代并自己应用这个函数,只是想知道是否有一个函数可以让我省去这项工作。
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以像这样应用lambda函数(假设为灰度图像):
std::for_each(mat.begin<uchar>(), mat.end<uchar>()
, [](uchar& pixel) {
/* do something with pixel */
});
但是,它实际上是一个循环。
修改:如果要对图像应用通用几何变换,可以使用remap
。