C++ 如何在OpenCV中将图像调整为特定大小?
但是源图像的大小不同于C++ 如何在OpenCV中将图像调整为特定大小?,c++,opencv,image-resizing,C++,Opencv,Image Resizing,但是源图像的大小不同于img 是否有任何opencv函数可以将其调整为img大小?您可以使用。或者更好地使用C++接口(如 CV::Mead < IplImage > />代码>和 CV::IMADION< ,而不是 CVoLaDimaE>代码>,然后使用 CV::调整内存分配和分配的大小:< /P> < P>这两个函数需要在这里记录: :从磁盘读取图像 :调整大小到任意大小 简言之: IplImage* img = cvLoadImage("something.jpg"); IplImage*
img
是否有任何opencv函数可以将其调整为
img
大小?您可以使用。或者更好地使用C++接口(如<代码> CV::Mead < IplImage > />代码>和IplImage* img = cvLoadImage("something.jpg");
IplImage* src = cvLoadImage("src.jpg");
cvSub(src, img, img);
请,请停止使用旧的和完全不推荐使用的IplImage*类制作一个有用的函数,如下所示:
// Load images in the C++ format
cv::Mat img = cv::imread("something.jpg");
cv::Mat src = cv::imread("src.jpg");
// Resize src so that is has the same size as img
cv::resize(src, src, img.size());
供您参考,python等价物是:
IplImage* img_resize(IplImage* src_img, int new_width,int new_height)
{
IplImage* des_img;
des_img=cvCreateImage(cvSize(new_width,new_height),src_img->depth,src_img->nChannels);
cvResize(src_img,des_img,CV_INTER_LINEAR);
return des_img;
}
对于
Emgu.CV 3.0
e、 g
详情请参见谢谢。我在很多关于opencv的主题中看到了cv::Mat,但我不知道它是什么。我在哪里可以找到关于它的一些信息(特别是基本信息),以及像你所说的那样的相关功能?请注意desu img的所有权。最好使用智能指针或OpenCV C++接口。直接回答问题。多谢各位!我的荣幸。当我可以的时候,我总是乐于贡献。
imageBuffer = cv.LoadImage( strSrc )
nW = new X size
nH = new Y size
smallerImage = cv.CreateImage( (nH, nW), imageBuffer.depth, imageBuffer.nChannels )
cv.Resize( imageBuffer, smallerImage , interpolation=cv.CV_INTER_CUBIC )
cv.SaveImage( strDst, smallerImage )
CvInvoke.Resize(inputImage, outputImage, new System.Drawing.Size(100, 100), 0, 0, Inter.Cubic);