C++ OpenCV图像大小与matlab的比较

C++ OpenCV图像大小与matlab的比较,c++,matlab,opencv,image-processing,C++,Matlab,Opencv,Image Processing,这是我的功能 int* Utilities::MatlabImresize(int* channel,int width, int height, double scale) { cv::Mat src(width, height, CV_32F); for (int i = 0; i < width * height; ++i) { src.at<float>(i) = channel[i]; } cv::M

这是我的功能

int* Utilities::MatlabImresize(int* channel,int width, int height, double scale)
{
    cv::Mat src(width, height, CV_32F);
    for (int i = 0; i < width * height; ++i)
    {
        src.at<float>(i) = channel[i];      
    }
    cv::Mat dst;
    cv::resize(src, dst, cv::Size(), 0.5, 0.5,cv::INTER_CUBIC);
    ofstream myfile;
    myfile.open("C:\\Users\\gdarmon\\Desktop\\OpenCV_CR.txt");
    myfile << dst;
    myfile.close();

    return NULL;
}

对OpenCV的更改只会使插值内核的公式匹配。它不启用抗锯齿。这里的结果将与

imresize(A,scale,'bicubic','AntiAliasing',false)

为了匹配默认值,您需要进一步修改内核,使其更广泛。

我记得您和Amro之间就这一点进行了一次非常好的讨论+1@chappjc哦,我以为整点都是为了匹配默认值…,无论如何,谢谢你,我会尝试处理这个问题。@Gilad不,重点是使任何东西匹配。如果不固定系数,这就不可能发生。
imresize(A,scale,'bicubic','AntiAliasing',false)