From 954ead41d9391bca28a3cc4f9592f73f25b3bbc8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 02 一月 2023 17:55:06 +0800 Subject: [PATCH] '完善批量设置代码' --- ConsoleApplication/kernel.cl | 352 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 219 insertions(+), 133 deletions(-) diff --git a/ConsoleApplication/kernel.cl b/ConsoleApplication/kernel.cl index 1d21d40..902d78c 100644 --- a/ConsoleApplication/kernel.cl +++ b/ConsoleApplication/kernel.cl @@ -6,8 +6,8 @@ int p = get_global_id(0); int startIndex = p / width * width * num_width * num_height + p % (num_count * 10) * num_width; unsigned char t = 0; - for (int r = 0;r < num_height;r++) - for (int c = 0;c < num_width;c++) { + for (int r = 0; r < num_height; r++) + for (int c = 0; c < num_width; c++) { int index = startIndex + num_width * width * r + c; t += abs(a_in[index] - b_in[index]); if (p == 0) { @@ -29,7 +29,7 @@ int min = 255; int minIndex = 11; - for (int i = startIndex;i < endIndex;i++) + for (int i = startIndex; i < endIndex; i++) { if (a_in[i] < min) { min = a_in[i]; @@ -68,9 +68,9 @@ int endNy = -1; //去除上下的白边 int y = 0; - for (y = starty;y <= endy;y++) { + for (y = starty; y <= endy; y++) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -86,9 +86,9 @@ } } - for (y = endy;y >= starty;y--) { + for (y = endy; y >= starty; y--) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -126,7 +126,7 @@ //往前查找冒号 int m1_s = -1, m1_e = -1, m2_s = -1, m2_e = -1; uchar temp[10]; - for (i = s;i > -1;i--) { + for (i = s; i > -1; i--) { if (i < 5) { break; } @@ -156,7 +156,7 @@ //往后查找冒号 - for (i = s;i < cols;i++) { + for (i = s; i < cols; i++) { if (i > cols - 5) { break; } @@ -224,9 +224,9 @@ int i; //获取是否有单位 int last_empty_index = -1; - for (i = endx;i >= startx;i--) { + for (i = endx; i >= startx; i--) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, i, y)]) > 0) { empty = 0; break; @@ -244,9 +244,9 @@ //带有单位 if (hasUnit) { - for (i = endx - 11;i >= startx;i--) { + for (i = endx - 11; i >= startx; i--) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, i, y)]) > 0) { empty = 0; break; @@ -268,9 +268,9 @@ int endNy = -1; //去除上下的白边 int y = 0; - for (y = starty;y <= endy;y++) { + for (y = starty; y <= endy; y++) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -286,9 +286,9 @@ } } - for (y = endy;y >= starty;y--) { + for (y = endy; y >= starty; y--) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -316,7 +316,7 @@ int m_s = -1, m_e = -1; uchar temp[8]; - for (i = 0;i < cols;i++) { + for (i = 0; i < cols; i++) { if (i > cols - 5) { break; } @@ -334,7 +334,7 @@ { bool empty = 1; - for (int y = starty;y < endy - 1;y++) { + for (int y = starty; y < endy - 1; y++) { if (get_binary_value(img_in[get_one_level_position(width, startx + i + 2, y)]) > 0) { empty = 0; break; @@ -408,7 +408,7 @@ int m_s = -1, m_e = -1; uchar temp[8]; int i; - for (i = 0;i < cols;i++) { + for (i = 0; i < cols; i++) { if (i > cols - 5) { break; } @@ -426,7 +426,7 @@ { bool empty = 1; - for (int y = starty;y < endy - 1;y++) { + for (int y = starty; y < endy - 1; y++) { if (get_binary_value(img_in[get_one_level_position(width, startx + i + 2, y)]) > 0) { empty = 0; break; @@ -496,9 +496,9 @@ int percent_start = -1; int emptyIndex = -1; int i; - for (i = startx;i <= endx;i++) { + for (i = startx; i <= endx; i++) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, i, y)]) > 0) { empty = 0; break; @@ -519,9 +519,9 @@ int percent_end = -1; emptyIndex = -1; - for (i = endx;i >= startx;i--) { + for (i = endx; i >= startx; i--) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, i, y)]) > 0) { empty = 0; break; @@ -550,7 +550,7 @@ //按照价格的形式做识别 int m_s = -1, m_e = -1; uchar temp[8]; - for (i = 0;i < cols;i++) { + for (i = 0; i < cols; i++) { if (i > cols - 5) { break; } @@ -568,7 +568,7 @@ { bool empty = 1; - for (int y = starty;y < endy - 1;y++) { + for (int y = starty; y < endy - 1; y++) { if (get_binary_value(img_in[get_one_level_position(width, startx + i + 2, y)]) > 0) { empty = 0; break; @@ -615,6 +615,92 @@ } + //手数,带有单位手 + else if (type == 6) { + //分隔手 + int num_end = endx; + int emptyIndex=-1; + int i; + for (i = endx; i >= startx; i--) { + bool empty = 1; + for (int y = starty; y < endy; y++) { + if (get_binary_value(img_in[get_one_level_position(width, i, y)]) > 0) { + empty = 0; + break; + } + } + if (empty) { + emptyIndex = i; + } + else if (emptyIndex > 0) { + num_end = i; + break; + } + } + endx = num_end; + //去除上下空白 + int startNy = -1; + int endNy = -1; + int y; + for (y = starty; y <= endy; y++) { + bool empty = 1; + for (int x = startx; x <= endx; x++) + { + int p = get_one_level_position(width, x, y); + unsigned char value = get_binary_value(img_in[p]); + //有数据 + if (value > 0) { + empty = 0; + break; + } + } + if (!empty) { + startNy = y; + break; + } + } + + for (y = endy; y >= starty; y--) { + bool empty = 1; + for (int x = startx; x <= endx; x++) + { + int p = get_one_level_position(width, x, y); + unsigned char value = get_binary_value(img_in[p]); + //有数据 + if (value > 0) { + empty = 0; + break; + } + } + if (!empty) { + endNy = y; + break; + } + } + if (endNy > 0) + { + endy = endNy; + } + if (startNy > 0) + { + starty = startNy; + } + nps[0] = startx; + nps[1] = starty; + nps[2] = endx; + nps[3] = endy; + + nps[4] = -1; + nps[5] = -1; + nps[6] = -1; + nps[7] = -1; + + nps[8] = -1; + nps[9] = -1; + nps[10] = -1; + nps[11] = -1; + } + //分隔数据 @@ -624,7 +710,7 @@ int numberCols[20 * 2]; int i; - for (i = 0;i < 3;i++) { + for (i = 0; i < 3; i++) { if (nps[i * 4] == -1) { break; } @@ -637,10 +723,10 @@ int c, startC = -1, endC = -1; - for (c = 0;c < _cols;c++) { + for (c = 0; c < _cols; c++) { bool empty = 1; - for (int y = _starty;y <= _endy;y++) { + for (int y = _starty; y <= _endy; y++) { unsigned char value = get_binary_value(img_in[get_one_level_position(width, _startx + c, y)]); if (value > 0) { empty = 0; @@ -675,15 +761,15 @@ } } - int zeroCount = length_per_num - numCount - (one_point_num?1:0); + int zeroCount = length_per_num - numCount - (one_point_num ? 1 : 0); //最大为20位数 int fresult[20 * 2]; - for (i = 0;i < zeroCount;i++) { + for (i = 0; i < zeroCount; i++) { fresult[i * 2] = -1; fresult[i * 2 + 1] = -1; } - for (i = 0;i < numCount;i++) { + for (i = 0; i < numCount; i++) { fresult[(i + zeroCount) * 2] = numberCols[i * 2]; fresult[(i + zeroCount) * 2 + 1] = numberCols[i * 2 + 1]; } @@ -694,14 +780,14 @@ } //开始填充数据 - for (i = 0;i < length_per_num;i++) { + for (i = 0; i < length_per_num; i++) { unsigned char numData[100 * 100]; if (fresult[i * 2] == -1) { //填充0 - for (int r = 0;r < num_height;r++) { - for (int c = 0;c < num_width;c++) { + for (int r = 0; r < num_height; r++) { + for (int c = 0; c < num_width; c++) { unsigned char value = get_binary_value(zero[r * num_width + c]); //设置输出坐标的值 numData[r * num_width + c] = value; @@ -712,8 +798,8 @@ else { int _startx = fresult[i * 2]; int _endx = fresult[i * 2 + 1]; - for (int r = starty;r <= endy;r++) { - for (int c = 0;c < num_width;c++) { + for (int r = starty; r <= endy; r++) { + for (int c = 0; c < num_width; c++) { unsigned char value = 0; if (_startx + c <= _endx) { //填充空白0 @@ -734,11 +820,11 @@ //行偏移量 int index_2 = (num_width * 10) * (length_per_num * (index % ele_count_per_line) + i); - for (int re = 0;re < 10;re++) { + for (int re = 0; re < 10; re++) { int index_3 = re * num_width; - for (int r = 0;r < num_height;r++) { + for (int r = 0; r < num_height; r++) { int index_1 = r * (num_width * 10 * num_count); - for (int c = 0;c < num_width;c++) { + for (int c = 0; c < num_width; c++) { int findex = index_0 + index_1 + index_2 + index_3 + c; //printf("index:%d-findex:%d value:%d \n", index, findex, numData[r * num_width + c]); result[findex] = numData[r * num_width + c]; @@ -772,9 +858,9 @@ int endNy = -1; //去除上下的白边 int y = 0; - for (y = starty;y <= endy;y++) { + for (y = starty; y <= endy; y++) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -790,9 +876,9 @@ } } - for (y = endy;y >= starty;y--) { + for (y = endy; y >= starty; y--) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -823,7 +909,7 @@ //是否只有一位小数 bool one_point_num = false; //时间 - + if (type == 0) { //时间 int s = cols / 2; @@ -831,7 +917,7 @@ //往前查找冒号 int m1_s = -1, m1_e = -1, m2_s = -1, m2_e = -1; uchar temp[7]; - for (i = s;i > -1;i--) { + for (i = s; i > -1; i--) { if (i < 6) { break; } @@ -858,7 +944,7 @@ //往后查找冒号 - for (i = s;i < cols;i++) { + for (i = s; i < cols; i++) { if (i > cols - 6) { break; } @@ -922,9 +1008,9 @@ //查找单位前的空格 int num_end = -1; int i; - for (i = endx - 9;i >= startx;i--) { + for (i = endx - 9; i >= startx; i--) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, i, y)]) > 0) { empty = 0; break; @@ -945,9 +1031,9 @@ int endNy = -1; //去除上下的白边 int y = 0; - for (y = starty;y <= endy;y++) { + for (y = starty; y <= endy; y++) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -963,9 +1049,9 @@ } } - for (y = endy;y >= starty;y--) { + for (y = endy; y >= starty; y--) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -992,7 +1078,7 @@ //查找小数点 int m_s = -1, m_e = -1; uchar temp[6]; - for (i = 0;i < cols;i++) { + for (i = 0; i < cols; i++) { if (i > cols - 5) { break; } @@ -1006,7 +1092,7 @@ if (temp[2] > 0) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, startx + i + 2, y)]) > 0) { empty = 0; break; @@ -1046,7 +1132,7 @@ nps[6] = num_end; nps[7] = endy; if (nps[6] - nps[4] <= num_width) { - //只有一个数字 + //只有一个数字 one_point_num = true; } @@ -1068,7 +1154,7 @@ int m_s = -1, m_e = -1; uchar temp[6]; int i; - for (i = 0;i < cols;i++) { + for (i = 0; i < cols; i++) { if (i > cols - 5) { break; } @@ -1082,7 +1168,7 @@ if (temp[2] > 0) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, startx + i + 2, y)]) > 0) { empty = 0; break; @@ -1160,7 +1246,7 @@ int numberCols[20 * 2]; int i; - for (i = 0;i < 3;i++) { + for (i = 0; i < 3; i++) { if (nps[i * 4] == -1) { break; } @@ -1173,10 +1259,10 @@ int c, startC = -1, endC = -1; - for (c = 0;c < _cols;c++) { + for (c = 0; c < _cols; c++) { bool empty = 1; - for (int y = _starty;y <= _endy;y++) { + for (int y = _starty; y <= _endy; y++) { unsigned char value = get_binary_value(img_in[get_one_level_position(width, _startx + c, y)]); if (value > 0) { empty = 0; @@ -1211,34 +1297,34 @@ } } - int zeroCount = length_per_num - numCount - (one_point_num?1:0); + int zeroCount = length_per_num - numCount - (one_point_num ? 1 : 0); //最大为20位数 int fresult[20 * 2]; - for (i = 0;i < zeroCount;i++) { + for (i = 0; i < zeroCount; i++) { fresult[i * 2] = -1; fresult[i * 2 + 1] = -1; } - for (i = 0;i < numCount;i++) { + for (i = 0; i < numCount; i++) { fresult[(i + zeroCount) * 2] = numberCols[i * 2]; fresult[(i + zeroCount) * 2 + 1] = numberCols[i * 2 + 1]; } //TODO 如果是金额,且后面只有1位小数的,需要在末尾填充0 - if (type == 1&& one_point_num) { + if (type == 1 && one_point_num) { fresult[(numCount + zeroCount) * 2] = -1; fresult[(numCount + zeroCount) * 2 + 1] = -1; } //开始填充数据 - for (i = 0;i < length_per_num;i++) { + for (i = 0; i < length_per_num; i++) { unsigned char numData[100 * 100]; if (fresult[i * 2] == -1) { //填充0 - for (int r = 0;r < num_height;r++) { - for (int c = 0;c < num_width;c++) { + for (int r = 0; r < num_height; r++) { + for (int c = 0; c < num_width; c++) { unsigned char value = get_binary_value(zero[r * num_width + c]); //设置输出坐标的值 numData[r * num_width + c] = value; @@ -1249,8 +1335,8 @@ else { int _startx = fresult[i * 2]; int _endx = fresult[i * 2 + 1]; - for (int r = starty;r <= endy;r++) { - for (int c = 0;c < num_width;c++) { + for (int r = starty; r <= endy; r++) { + for (int c = 0; c < num_width; c++) { unsigned char value = 0; if (_startx + c <= _endx) { //填充空白0 @@ -1271,11 +1357,11 @@ //行偏移量 int index_2 = (num_width * 10) * (length_per_num * (index % ele_count_per_line) + i); - for (int re = 0;re < 10;re++) { + for (int re = 0; re < 10; re++) { int index_3 = re * num_width; - for (int r = 0;r < num_height;r++) { + for (int r = 0; r < num_height; r++) { int index_1 = r * (num_width * 10 * num_count); - for (int c = 0;c < num_width;c++) { + for (int c = 0; c < num_width; c++) { int findex = index_0 + index_1 + index_2 + index_3 + c; //printf("index:%d-findex:%d value:%d \n", index, findex, numData[r * num_width + c]); result[findex] = numData[r * num_width + c]; @@ -1660,7 +1746,7 @@ temp[5] = get_binary_value(img_in[get_one_level_position(width, startx + i + 5, endy)]); temp[6] = get_binary_value(img_in[get_one_level_position(width, startx + i + 2, endy - 1)]); temp[7] = get_binary_value(img_in[get_one_level_position(width, startx + i + 3, endy - 1)]); - if (temp[2] > 0 && temp[3] > 0 ) { + if (temp[2] > 0 && temp[3] > 0) { if (temp[0] + temp[1] + temp[4] + temp[5] + temp[6] + temp[7] == 0) { @@ -2013,9 +2099,9 @@ int endNy = -1; //去除上下的白边 int y = 0; - for (y = starty;y <= endy;y++) { + for (y = starty; y <= endy; y++) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -2031,9 +2117,9 @@ } } - for (y = endy;y >= starty;y--) { + for (y = endy; y >= starty; y--) { bool empty = 1; - for (int x = startx;x <= endx;x++) + for (int x = startx; x <= endx; x++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -2062,7 +2148,7 @@ //往前查找冒号 int m1_s = -1, m1_e = -1, m2_s = -1, m2_e = -1; uchar temp[7]; - for (i = s;i > -1;i--) { + for (i = s; i > -1; i--) { if (i < 6) { break; } @@ -2089,7 +2175,7 @@ //往后查找冒号 - for (i = s;i < cols;i++) { + for (i = s; i < cols; i++) { if (i > cols - 6) { break; } @@ -2136,10 +2222,10 @@ if (startx > 0 && endx > 0) { //分隔s/m/h int emptyX = -1; - for (int x = endx;x >= startx;x--) { + for (int x = endx; x >= startx; x--) { bool empty = 1; - for (int y = starty;y <= endy;y++) + for (int y = starty; y <= endy; y++) { int p = get_one_level_position(width, x, y); unsigned char value = get_binary_value(img_in[p]); @@ -2198,7 +2284,7 @@ int m_s = -1, m_e = -1; uchar temp[6]; int i; - for (i = 0;i < cols;i++) { + for (i = 0; i < cols; i++) { if (i > cols - 5) { break; } @@ -2212,7 +2298,7 @@ if (temp[2] > 0) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(img_in[get_one_level_position(width, startx + i + 2, y)]) > 0) { empty = 0; break; @@ -2279,7 +2365,7 @@ int numberCols[12]; int i; - for (i = 0;i < 3;i++) { + for (i = 0; i < 3; i++) { if (nps[i * 4] == -1) { break; } @@ -2292,10 +2378,10 @@ int c, startC = -1, endC = -1; - for (c = 0;c < _cols;c++) { + for (c = 0; c < _cols; c++) { bool empty = 1; - for (int y = _starty;y <= _endy;y++) { + for (int y = _starty; y <= _endy; y++) { unsigned char value = get_binary_value(img_in[get_one_level_position(width, _startx + c, y)]); if (value > 0) { empty = 0; @@ -2345,25 +2431,25 @@ int zeroCount = maxNumberCount - numCount; int fresult[6 * 2]; - for (i = 0;i < zeroCount;i++) { + for (i = 0; i < zeroCount; i++) { fresult[i * 2] = -1; fresult[i * 2 + 1] = -1; } - for (i = 0;i < numCount;i++) { + for (i = 0; i < numCount; i++) { fresult[(i + zeroCount) * 2] = numberCols[i * 2]; fresult[(i + zeroCount) * 2 + 1] = numberCols[i * 2 + 1]; } //开始填充数据 - for (i = 0;i < maxNumberCount;i++) { + for (i = 0; i < maxNumberCount; i++) { unsigned char numData[100 * 100]; if (fresult[i * 2] == -1) { //填充0 - for (int r = 0;r < num_height;r++) { - for (int c = 0;c < num_width;c++) { + for (int r = 0; r < num_height; r++) { + for (int c = 0; c < num_width; c++) { unsigned char value = get_binary_value(zero[r * num_width + c]); //设置输出坐标的值 numData[r * num_width + c] = value; @@ -2374,8 +2460,8 @@ else { int _startx = fresult[i * 2]; int _endx = fresult[i * 2 + 1]; - for (int r = starty;r <= endy;r++) { - for (int c = 0;c < num_width;c++) { + for (int r = starty; r <= endy; r++) { + for (int c = 0; c < num_width; c++) { unsigned char value = 0; if (_startx + c <= _endx) { //填充空白0 @@ -2408,11 +2494,11 @@ index_2 += (num_width * 10) * (6 + 2 + 6 + i); } - for (int re = 0;re < 10;re++) { + for (int re = 0; re < 10; re++) { int index_3 = re * num_width; - for (int r = 0;r < num_height;r++) { + for (int r = 0; r < num_height; r++) { int index_1 = r * (num_width * 10 * num_count); - for (int c = 0;c < num_width;c++) { + for (int c = 0; c < num_width; c++) { int findex = index_0 + index_1 + index_2 + index_3 + c; //printf("index:%d-findex:%d \n",index, findex); result[findex] = numData[r * num_width + c]; @@ -2439,14 +2525,14 @@ int inLineDataCount = num_width * NUMBER_COUNT * LINE_NUMBER_COUNT; int outLineCount = outLineDataCount * gid; - for (int re = 0;re < LINE_NUMBER_COUNT;re++) { - for (int n = 0;n < NUMBER_COUNT;n++) + for (int re = 0; re < LINE_NUMBER_COUNT; re++) { + for (int n = 0; n < NUMBER_COUNT; n++) { int index_num_0 = n * num_width * num_height; - for (int r = 0;r < num_height;r++) { + for (int r = 0; r < num_height; r++) { int intLineCount = inLineDataCount * r; - for (int c = 0;c < num_width;c++) { + for (int c = 0; c < num_width; c++) { int index_num = index_num_0 + r * num_width + c; unsigned char value = numbers[index_num]; int index = outLineCount; @@ -2484,10 +2570,10 @@ int startRowDataIndex = 7 * 4 * gid; - for (int i = startCol;i <= endCol;i++) { + for (int i = startCol; i <= endCol; i++) { bool empty = 1; - for (int j = startRow;j <= endRow;j++) { + for (int j = startRow; j <= endRow; j++) { unsigned char value = imgs[get_one_level_position(width, i, j)]; if (value >= 64) { empty = 0; @@ -2565,7 +2651,7 @@ } int emptyCount = 0; - for (int i = 0;i < 7;i++) { + for (int i = 0; i < 7; i++) { if (i == emptyColIndex1 || i == emptyColIndex2) { result[startRowDataIndex + 4 * i + 0] = 0; result[startRowDataIndex + 4 * i + 1] = 0; @@ -2619,10 +2705,10 @@ //排除第一列序号列 int startRowDataIndex = (ELE_NUMBER_PER_LINE) * 4 * gid; - for (int i = startCol;i <= endCol;i++) { + for (int i = startCol; i <= endCol; i++) { bool empty = 1; - for (int j = startRow;j <= endRow;j++) { + for (int j = startRow; j <= endRow; j++) { unsigned char value = imgs[get_one_level_position(width, i, j)]; if (value >= 64) { empty = 0; @@ -2680,7 +2766,7 @@ } int emptyCount = 0; - for (int i = 0;i < ELE_NUMBER_PER_LINE;i++) { + for (int i = 0; i < ELE_NUMBER_PER_LINE; i++) { result[startRowDataIndex + 4 * i + 0] = rowDataIndexs[4 * (i - emptyCount) + 0]; result[startRowDataIndex + 4 * i + 1] = rowDataIndexs[4 * (i - emptyCount) + 1]; result[startRowDataIndex + 4 * i + 2] = rowDataIndexs[4 * (i - emptyCount) + 2]; @@ -2696,7 +2782,7 @@ int rowIndex = get_global_id(0); - for (int c = 0;c < width;c++) { + for (int c = 0; c < width; c++) { int index = rowIndex * width + c; int start = index * 3; unsigned char R = imgs[start]; @@ -2711,7 +2797,7 @@ int rowIndex = get_global_id(0); - for (int c = 0;c < width;c++) { + for (int c = 0; c < width; c++) { int index = rowIndex * width + c; int start = index * 3; unsigned char R = imgs[start]; @@ -2733,7 +2819,7 @@ int rowIndex = get_global_id(0); - for (int c = 0;c < width;c++) { + for (int c = 0; c < width; c++) { int index = rowIndex * width + c; int start = index * 4; unsigned char R = imgs[start]; @@ -2746,11 +2832,11 @@ __kernel void rgba2ThresholdInvert(const __global unsigned char* imgs, int width, - __global unsigned char* result,int threadhold) { + __global unsigned char* result, int threadhold) { int rowIndex = get_global_id(0); - for (int c = 0;c < width;c++) { + for (int c = 0; c < width; c++) { int index = rowIndex * width + c; int start = index * 4; unsigned char R = imgs[start]; @@ -2782,10 +2868,10 @@ int endy = startx + 3; if (rowIndexs[startx] > 0) { int emptyX = -1; - for (int x = rowIndexs[endx];x >= rowIndexs[startx];x--) + for (int x = rowIndexs[endx]; x >= rowIndexs[startx]; x--) { bool empty = true; - for (int y = rowIndexs[starty];y <= rowIndexs[endy];y++) { + for (int y = rowIndexs[starty]; y <= rowIndexs[endy]; y++) { unsigned char value = imgs[get_one_level_position(width, x, y)]; if (get_binary_value(value)) { empty = 0; @@ -2800,9 +2886,9 @@ if (emptyX > 0) { //计算值 unsigned char count = 0; - for (int x = emptyX + 1;x <= rowIndexs[endx];x++) + for (int x = emptyX + 1; x <= rowIndexs[endx]; x++) { - for (int y = rowIndexs[starty];y <= rowIndexs[endy];y++) { + for (int y = rowIndexs[starty]; y <= rowIndexs[endy]; y++) { unsigned char value = imgs[get_one_level_position(width, x, y)]; count += get_binary_value(value) ? 1 : 0; } @@ -2844,10 +2930,10 @@ result[row * 2] = 1; //去除上下的空白 - for (int r = starty;r <= endy;r++) + for (int r = starty; r <= endy; r++) { bool empty = true; - for (int c = startx;c <= endx;c++) { + for (int c = startx; c <= endx; c++) { unsigned char value = imgs[get_one_level_position(width, c, r)]; if (get_binary_value(value)) { empty = 0; @@ -2859,10 +2945,10 @@ break; } } - for (int r = endy;r >= starty;r--) + for (int r = endy; r >= starty; r--) { bool empty = true; - for (int c = startx;c <= endx;c++) { + for (int c = startx; c <= endx; c++) { unsigned char value = imgs[get_one_level_position(width, c, r)]; if (get_binary_value(value)) { empty = 0; @@ -2877,9 +2963,9 @@ int my = (starty + endy) / 2; //计算上半部分的值 int topValue = 0; - for (int r = starty;r <= my;r++) + for (int r = starty; r <= my; r++) { - for (int c = startx;c <= endx;c++) { + for (int c = startx; c <= endx; c++) { unsigned char value = imgs[get_one_level_position(width, c, r)]; topValue += get_binary_value(value); @@ -2887,9 +2973,9 @@ } //计算下半部分的值 int bottomValue = 0; - for (int r = my;r <= endy;r++) + for (int r = my; r <= endy; r++) { - for (int c = startx;c <= endx;c++) { + for (int c = startx; c <= endx; c++) { unsigned char value = imgs[get_one_level_position(width, c, r)]; bottomValue += get_binary_value(value); @@ -2921,9 +3007,9 @@ //printf("%d: %d %d %d %d\n",row, startx, starty, endx, endy); unsigned int pixelCount = 0; - for (int r = starty;r <= endy;r++) + for (int r = starty; r <= endy; r++) { - for (int c = startx;c <= endx;c++) { + for (int c = startx; c <= endx; c++) { unsigned char val = imgs[get_one_level_position(width, c, r)]; pixelCount += get_binary_value(val); } @@ -2969,9 +3055,9 @@ //查询是否有单位 //获取是否有单位 int last_empty_index = -1; - for (i = endx;i >= startx;i--) { + for (i = endx; i >= startx; i--) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(imgs[get_one_level_position(width, i, y)]) > 0) { empty = 0; break; @@ -2992,9 +3078,9 @@ return; } - for (i = endx - 11;i >= startx;i--) { + for (i = endx - 11; i >= startx; i--) { bool empty = 1; - for (int y = starty;y < endy;y++) { + for (int y = starty; y < endy; y++) { if (get_binary_value(imgs[get_one_level_position(width, i, y)]) > 0) { empty = 0; break; @@ -3011,8 +3097,8 @@ int count = 0; if (unit_start > -1) { - for (int c = unit_start;c <= endx;c++) { - for (int y = starty;y <= endy;y++) { + for (int c = unit_start; c <= endx; c++) { + for (int y = starty; y <= endy; y++) { count += (get_binary_value(imgs[get_one_level_position(width, c, y)]) > 0 ? 1 : 0); } } -- Gitblit v1.8.0