1.imread
imread("imag.bmp", 1)
–读取三个通道,适用于bayer插值后的RGB图像;若只有一个通道,则例化三个通道,三个通道数据一样
imread("imag.bmp", 0)
–读取一个通道,适用于bayer原图像
读取目录内的图像:通过遍历目录下所有文件
https://blog.csdn.net/hotdp/article/details/82776802,
找到相应的图像。此时只会找到图像名字,而imread读取文件需要绝对地址,因此需要先定义绝对地址
std::string AbsSirDir = SirDir;
然后将获取到的图像名字赋值给新的
std::string FileName = finddata.name;
最后用cv::String将两个地址相加cv::String AbsSirDirFile = AbsSirDir + FileName;,就可以了
2.resize
函数原型:
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR );
Size dsize 为缩减后dst图像大小,若为0,则实际根据fx和fy来缩减图像 公式为
dsize = Size(round(fx*src.cols), round(fy**src.rows)),
所以dsize和fx,fy不能同时为0
例子:resize(src, dst, Size(a, b));
interpolation:选择插值方式,但如果从大的图像缩减到小的图像,不会进行插值。
3.imwrite
函数原型:
bool imwrite(const string& filename, InputArray img, const vector<int>& params=vector<int>() )