// ڂ傫摜ϊ
void BigEye(
    Mat colorImg,  // ͉摜
    Rect eyerect  // ڂ̗̈
) {
  // ڂ̗̈OɍL
  int margin = (int)(eyerect.width * 0.2);
  eyerect += Size(margin * 2, margin * 2);
  eyerect -= Point(margin, margin);
  //ڗ̈̉摜
  Mat eye = colorImg(eyerect);
  // ϊOXYW
  Mat mapX(eye.rows, eye.cols, CV_32FC1);
  Mat mapY(eye.rows, eye.cols, CV_32FC1);
  // SW
  float cx = eyerect.width / 2.0f;
  float cy = eyerect.height / 2.0f;
  // ڂ̑傫̃XP[
  float sx = 1;  // 
  float sy = 1;  // c
  // ͉摜̎QƍWvZ
  for (int y = 0; y < eye.rows; y++) {
    for (int x = 0; x < eye.cols; x++) {
      // S_ɂ
      float px = x - cx;
      float py = y - cy;
      // S̋
      float r = sqrt(px * px + py * py);
      // KEX֐
      float gauss = (float)exp(-r * r / cx / cy / 2.0 * 9.0);
      // ϊW̌vZ
      mapX.at<float>(y, x) = cx + px / (gauss * sx + 1);
      mapY.at<float>(y, x) = cy + py / (gauss * sy + 1);
    }
  }
  // 摜c߂鏈
  remap(eye, eye, mapX, mapY, cv::INTER_LINEAR);  // `
}
