缩略图怎么做,缩略图生成功能?( 二 )

  
return mRGB;  
}使用opencv建立画布并生成缩略图通过画布需要的大小参数 , 画出白色画布 , 再对画布进行填充 。  
cv::Mat makeThumbnail(vector vImage, const unsigned int rowNums, const unsigned int colNums)  
{  
// 判断图片时候满足条件  
if (vImage.size() != rowNums * colNums) {  
logging(\"Error image size not equal input size\");  
logging(\"vImage length: %d, rowNums: %d, col number: %d\", vImage.size(), rowNums, colNums);  
exit(-1);  
}  
int interval = 100;  
int height = vImage[0].size().height * rowNums + interval * (rowNums + 1);  
int width = vImage[0].size().width * colNums + interval * (colNums + 1);  
logging(\"thumbnail size: %d * %d\", height, width);  
cv::Mat thumbnail(cv::Size(width, height), CV_8UC3);  
thumbnail.setTo(255);  
// 进行填充  
for (int i = 0; i < rowNums; ++i) {  
for (int j = 0; j < colNums; ++j) {  
int no = i * rowNums + j;  
int widthOffset = (vImage[0].size().width + interval) * j + interval;  
int heightOffset = (vImage[0].size().height + interval) * i + interval;  
vImage[no].copyTo(thumbnail(cv::Rect(widthOffset, heightOffset, vImage[0].size().width, vImage[0].size().height)));  
}  
}  
return thumbnail;  
}
最后的效果  

缩略图怎么做,缩略图生成功能?
  
文章插图  
【缩略图怎么做,缩略图生成功能?】 好了 , 这篇文章的内容蜀川号就和大家分享到这里!  


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。