windows2008网站,新手怎么做seo,怎么在网站标题做logo,成都抖音推广公司1、说明
OpenCV没有提供从BGR生成Bayer格式的接口,需要自己写 OpenCV定义为4种格式,分别为: BGGR排列 - RG格式 RGGB排列 - BG格式 GRBG排列 - GB格式 GBRG排列 - GR格式 2、转换
void CUtils::BGR2BayerGB(const cv::Mat matSrc, cv::Mat matDst)…1、说明
OpenCV没有提供从BGR生成Bayer格式的接口,需要自己写 OpenCV定义为4种格式,分别为: BGGR排列 - RG格式 RGGB排列 - BG格式 GRBG排列 - GB格式 GBRG排列 - GR格式 2、转换
void CUtils::BGR2BayerGB(const cv::Mat matSrc, cv::Mat matDst) //BGR格式转换为BayerGB格式
{//GRBG排列 - GB格式matDst cv::Mat(matSrc.size(), CV_8UC1, cv::Scalar::all(0));for (int y 0; y matSrc.rows; y){for (int x 0; x matSrc.cols; x){cv::Vec3b colorSrc matSrc.atcv::Vec3b(y, x);uchar colorDst 0;if (y % 2 0){colorDst (x % 2 0) ? colorSrc[1] : colorSrc[2]; //G:R}else{colorDst (x % 2 0) ? colorSrc[0] : colorSrc[1]; //B:G}matDst.atuchar(y, x) colorDst;}}
}void CUtils::BGR2BayerBG(const cv::Mat matSrc, cv::Mat matDst) //BGR格式转换为BayerBG格式
{//RGGB排列 - BG格式matDst cv::Mat(matSrc.size(), CV_8UC1, cv::Scalar::all(0));for (int y 0; y matSrc.rows; y){for (int x 0; x matSrc.cols; x){cv::Vec3b colorSrc matSrc.atcv::Vec3b(y, x);uchar colorDst 0;if (y % 2 0){colorDst (x % 2 0) ? colorSrc[2] : colorSrc[1]; //R:G}else{colorDst (x % 2 0) ? colorSrc[1] : colorSrc[0]; //G:B}matDst.atuchar(y, x) colorDst;}}
} 3、测试
void Widget::on_pushButton_BGR2BayerBG_clicked()
{QFileDialog *fileDlg new QFileDialog(this);fileDlg-setWindowTitle(tr(打开图片));QStringList qstrFilters;qstrFilters picture(*.bmp;*.jpg;*.png);fileDlg-setNameFilters(qstrFilters); //设置文件过滤器fileDlg-setFileMode(QFileDialog::ExistingFile); //设置选择单文件如果是多个文件就写成ExistingFilesfileDlg-setAcceptMode(QFileDialog::AcceptOpen);if (fileDlg-exec() QDialog::Accepted){QStringList strPathList fileDlg-selectedFiles();if (strPathList.count() 0){//文件路径QString file_path strPathList.at(0);//打开图片cv::Mat m1;m1 UTILS-readMat(file_path, cv::IMREAD_COLOR);//转换cv::Mat m2;UTILS-BGR2BayerBG(m1, m2);UTILS-writeMat(d:\\test_BGR2BayerBG.bmp, m2);//验证cv::Mat m3;cv::cvtColor(m2, m3, cv::COLOR_BayerBG2BGR);UTILS-writeMat(d:\\test_BayerBG2BGR.bmp, m3);}}fileDlg-close();delete fileDlg;fileDlg nullptr;
}