在opencv上更改图片的bgr颜色值

时间:2019-03-20 16:18:01

标签: c++ opencv bgr

我下面的功能应更改原始图片的颜色值,然后在完成该过程后应使用更改后的颜色创建另一张图片。

Find

当我使用命令make并运行整个代码时,出现了分段错误。 我使用此命令来运行代码

void change(const cv::Mat &first_image, cv::Mat &new_image, const std::vector<std::vector<int> > &colors)
{
    for (int i = 0; i < first_image.cols; i++) {
    for (int j = 0; j < first_image.rows; j++) {

 int blue = first_image.at<cv::Vec3b>(i,j)[0];
 new_image.at<cv::Vec3b>(i,j)[2]= colors [2][blue];

 int green = first_image.at<cv::Vec3b>(i,j)[1];

 new_image.at<cv::Vec3b>(i,j)[1]= colors [1][green];

 int red = first_image.at<cv::Vec3b>(i,j)[2];

 new_image.at<cv::Vec3b>(i,j)[0]= colors [0][red];
}
}
}

有人可以告诉我我可能做错了什么吗?

提前谢谢

0 个答案:

没有答案