c++ - 在 OpenCV C++ 中将图像区域设置为零的最佳方法?

标签 c++ opencv

我想问一下,将灰度 Mat 图像的区域设置为零(或任何其他常数值,就此而言)的最有效方法是什么。

我应该创建一个零图像然后使用 copyTo() 还是有更好的方法?

最佳答案

我会使用 setTo() ,例如:

// load an image
cv::Mat pImage = cv::imread("someimage.jpg", CV_LOAD_IMAGE_COLOR);

// select a region of interest
cv::Mat pRoi = pImage(cv::Rect(10, 10, 20, 20));

// set roi to some rgb colour   
pRoi.setTo(cv::Scalar(blue, green, red));

关于c++ - 在 OpenCV C++ 中将图像区域设置为零的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754185/

相关文章:

c++ - Windows API 作业对象 : Don't pass on to grandchildren

c++ - cv::Mat 在分配给 'at<unsigned char>(0,0)' 时导致崩溃

python - 使用numpy的调色板方法

c++ - 当你有类层次结构时,方法的调用顺序是什么?

c++ - SFINAE 适用的 C++11 标准中提到的 "immediate context"到底是什么?

C++语句重新排序

c++ - 尝试为图像缓冲区分配内存时错误的 ptr 值

opencv - 立体视觉算法

c++ - 与 cv::Mat 元素一起存储附加信息

c++ - 编写简单的 WSO2/C++ Web 服务客户端时崩溃