1、CV::Mat 矩阵按条件修改
cv::Mat a=(cv::Mat_<int>(3,3)<<0,1,2,3,3,1,2,0,0);
std::cout<<a<<std::endl;
cv::Mat mask_0,mask_1; //mask
cv::Mat b=cv::Mat::zeros(3,3,CV_8U);
//a=0的元素对应的位置设置为100
cv::inRange(a,0,0,mask_0);
b.setTo(100,mask_0)
//a=1的元素对应的位置设置为200
cv::inRange(a,1,1,mask_1);
b.setTo(200,mask_1);
std::cout<<b<<std::endl;
2、区域替换操作
3、矩阵扩充操作
cv::Mat a=(cv::Mat_<int>(3,3)<<0,1,2,3,3,1,2,0,0);
std::cout<<a<<std::endl;
cv::Mat a_pad;
cv::copyMakeBorder(a,1,2,3,4,cv::BORDER_CONSTANT,cv::Scalar(255));
std::cout<<a_pad<<std::endl;