【问题标题】:opencv: change image size without effecting content sizeopencv:更改图像大小而不影响内容大小
【发布时间】:2012-08-14 12:25:50
【问题描述】:

应用我的图像处理后,我得到了包含字符的图像。所有这些图像(以字符为内容)都有不同的大小。我想在不影响其内容大小的情况下以相同大小调整所有图像的大小。见下图:

http://techsture.com/img.jpg

我尝试了一些功能来将我的源图像与其他白色图像合并,但它需要两个具有相同大小的源图像。我需要通用尺寸的图像以进行进一步处理。

请指导我如何将我的图像转换为普通尺寸??

谢谢

【问题讨论】:

标签: image opencv resize


【解决方案1】:

我会制作一个具有目标尺寸的新图像,在这个新图像中将 ROI 设置为您希望源图像显示的位置。然后使用 cvResize。 它应该类似于:

int newWidth = 100;
int newHeight = 100;
CvRect rect;

IplImage* source = cvLoadImage("c:/myimage");
IplImage* dest = cvCreateImage(cvSize(newWidth,newHeight),source->depth,source->nChannels);

rect.x = newWidth/2 - source->width/2;
rect.y = newHeight/2 - source->height/2;
rect.width = source->width;
rect.height = source->height;

cvSetImageROI(dest,rect);
cvResize(source,dest);
cvResetImageROI(dest);

【讨论】:

  • 欢迎来到 SO!您的方法似乎有效,尽管在 OpenCV 2.0+ 中来自链接线程的方法(可以说)读起来更好:stackoverflow.com/questions/11737831/…
  • cvGetRectSubPix 也是一个选项。
猜你喜欢
  • 1970-01-01
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 2018-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多