Ask Your Question

Revision history [back]

It's not exactly like in Matlab (for border pixel) :

   Mat a = Mat::zeros(16,10,CV_8UC1);
    int k=0;
    for (int i=0;i<a.rows;i++)
        for (int j=0;j<a.cols;j++)
            a.at<uchar>(i,j)=k++;
    Mat d;
    resize(a, d, Size(),0.25,0.25,INTER_NEAREST);
    cout<<a<<endl;
    cout<<d<<endl;

gives as result :

[  0,   1,   2,   3,   4,   5,   6,   7,   8,   9;
  10,  11,  12,  13,  14,  15,  16,  17,  18,  19;
  20,  21,  22,  23,  24,  25,  26,  27,  28,  29;
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39;
  40,  41,  42,  43,  44,  45,  46,  47,  48,  49;
  50,  51,  52,  53,  54,  55,  56,  57,  58,  59;
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69;
  70,  71,  72,  73,  74,  75,  76,  77,  78,  79;
  80,  81,  82,  83,  84,  85,  86,  87,  88,  89;
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99;
 100, 101, 102, 103, 104, 105, 106, 107, 108, 109;
 110, 111, 112, 113, 114, 115, 116, 117, 118, 119;
 120, 121, 122, 123, 124, 125, 126, 127, 128, 129;
 130, 131, 132, 133, 134, 135, 136, 137, 138, 139;
 140, 141, 142, 143, 144, 145, 146, 147, 148, 149;
 150, 151, 152, 153, 154, 155, 156, 157, 158, 159]
[  0,   4;
  40,  44;
  80,  84;
 120, 124]