aihot  2017-05-26 21:45:51  OpenCV |   查看评论   

 最新版OpenCV2.4.7中,cv::resize函数有五种插值算法:最近邻、双线性、双三次、基于像素区域关系、兰索斯插值。下面用for循环代替cv::resize函数来说明其详细的插值实现过程,其中部分代码摘自于cv::resize函数中的源代码。

 
每种插值算法的前部分代码是相同的,如下:
  1. cv::Mat matSrc, matDst1, matDst2;  
  2.   
  3. matSrc = cv::imread("lena.jpg", 2 | 4);  
  4. matDst1 = cv::Mat(cv::Size(800, 1000), matSrc.type(), cv::Scalar::all(0));  
  5. matDst2 = cv::Mat(matDst1.size(), matSrc.type(), cv::Scalar::all(0));  
  6.   
  7. double scale_x = (double)matSrc.cols / matDst1.cols;  
  8. double scale_y = (double)matSrc.rows / matDst1.rows;  

 1/6    1 2 3 4 5 6 下一页 尾页
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV中resize函数五种插值算法的实现过程

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]