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)