如何将像素设置为cv :: Mat对象中的值?

A S*_*A S 17 c++ opencv

我需要将Mat对象中的单个像素设置为某个值.

怎么做?

我在visual studio 2010中使用openCV 2.1.

Rég*_* B. 17

如果您正在处理uchar(CV_8U)矩阵:

 mat.at<uchar>(row, column, channel) = val;
Run Code Online (Sandbox Code Playgroud)


Jef*_* T. 5

事实上,如OpenCV教程所述,有4种方法可以在cv :: Mat对象中获取/设置像素值.

@Régis提到的那个在OpenCV教程中被称为On-The-Fly RA.这是最方便但也很耗时的.

根据教程的实验,它还列出了所有4种方法的性能差异.

  • 高效方式79.4717毫秒
  • 迭代器83.7201毫秒
  • On-The-Fly RA 93.7878毫秒
  • LUT功能32.5759毫秒