72 if( i > g_srcImage.cols*0.25 && i < g_srcImage.cols*0.75 && j > g_srcImage.rows*0.25 && j < g_srcImage.rows*0.75)
73 {
74 g_map_x.at(j,i) = static_cast(2*( i - g_srcImage.cols*0.25 ) + 0.5);
75 g_map_y.at(j,i) = static_cast(2*( j - g_srcImage.rows*0.25 ) + 0.5);
76 }
77 else
78 {
79 g_map_x.at(j,i) = 0;
80 g_map_y.at(j,i) = 0;
81 }
82 break;
83 case ‘2‘:// 键盘【2】键按下,进行第二种重映射操作
84 g_map_x.at(j,i) = static_cast(i);
85 g_map_y.at(j,i) = static_cast(g_srcImage.rows - j);
86 break;
87 case ‘3‘:// 键盘【3】键按下,进行第三种重映射操作
88 g_map_x.at(j,i) = static_cast(g_srcImage.cols - i);
89 g_map_y.at(j,i) = static_cast(j);
90 break;
91 case ‘4‘:// 键盘【4】键按下,进行第四种重映射操作
92 g_map_x.at(j,i) = static_cast(g_srcImage.cols - i);
93 g_map_y.at(j,i) = static_cast(g_srcImage.rows - j);
94 break;
95 }
96 }
97 }
98 return 1;
99 }
100
101 static void ShowHelpText()
102 {
103 //输出一些帮助信息
104 cout << "
欢迎来到重映射示例程序~
";
105 cout << "当前使用的OpenCV版本为 OpenCV "CV_VERSION;
106 cout << "
按键操作说明:
"
107 "键盘按键【ESC】- 退出程序
"
108 "键盘按键【1】- 第一种映射方式
"
109 "键盘按键【2】- 第二种映射方式
"
110 "键盘按键【3】- 第三种映射方式
"
111 "键盘按键【4】- 第四种映射方式
"
112 "
";
113 }