这是我的代码:
#include <iostream>
#include <algorithm>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
void increase_brigntness(Mat& im,int g)
{
Mat lut(1,256,CV_8UC3);
for(int i=0;i<256;++i)
for(int c=0;c<3;++c)
lut.at<Vec3b>(i)[c]=min(i+g,255);
LUT(im,lut,im);
}
但是,编译器在std中找不到min(int,int)函数,因为我使用了命名空间cv。我怎么还能使用min函数?
答案 0 :(得分:4)
快速解决:致电std::min
:
lut.at<Vec3b>(i)[c] = std::min(i+g,255);
长期修复:不要说using namespace std;
或using namespace cv;
。 It is a bad idea。发明命名空间是为了避免这种问题。你只是否定拥有它们的所有好处。