我在应用图像处理后获得包含字符的图像。所有这些图像(具有作为内容的字符)具有不同的大小。我想调整相同大小的所有图像,而不影响其内容大小。见下图:
我尝试了一些功能将我的源图像与其他白色图像合并,但它需要两个具有相同大小的源图像。我需要通用的图像尺寸才能进一步处理。
请指导我如何将图像转换为通用尺寸?
谢谢
答案 0 :(得分: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);