2

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

http://techsture.com/img.jpg

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

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

谢谢

4

1 回答 1

4

我会制作一个具有目标大小的新图像,在这个新图像中设置一个 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);
于 2012-08-21T08:55:59.020 回答