temp_log

1、vmware虚拟机的ubuntu系统下不重新分区而扩大磁盘容量  

(1)在vmware虚拟机的磁盘设置中,工具里有扩展磁盘容量的选项,设置新的大小。

(2)使用工具gparted。链接地址是:http://jaist.dl.sourceforge.net/project/gparted/gparted-live-stable/0.16.1-1/gparted-live-0.16.1-1-i486.iso 大约136M左右。把iso镜像插入ubuntu启动光驱。启动时,按F2可进入vmware bios设置,按esc键则可进入启动设备选择。
或者打开ubuntu.vmx,就是虚拟机的配置文件,在里面加入一行:bios.forceSetupOnce = "TRUE"。
(3)现在重启虚拟机,会自动进入bios设置界面.设了CD为第一启动设备,启动,进入了gparted分区界面。在图形界面中可以看到sda1和swap分区。由于swap分区隔在原root分区和新增加的磁盘大小之间,所以为使磁盘扇区连续起来,首先要删除swap分区,删除扩展分区,此时只留下了原root分区和未使用的硬盘空间。可以调整根分区大小了,选中原root分区,选择调整分区大小,,只留下swap分区要使用的容量(1.7G左右)。应用,成功。
然后把剩下的空间创建扩展分区,分区类型选择linux-swap,创建swap文件系统,1.7G左右。成功。
(4)重启虚拟机,用sudo ls -l /dev/disk/by-uuid显示当前分区的uuid值:

与/etc/fstab里注册的值进行比较,发现sda1一致,而sda2(swap)的uuid不同。现在sudo vi /etc/fstab,修改其中swap的uuid值为调整后的swap分区uuid值.OK.
参考:http://blog.163.com/squall_smile/blog/static/60349840201362885726180/
2、mahout报错

报错,错误信息:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

使用vi 打开bin/mahout查看,搜索JAVA_HEAP_MAX=-X

看到它写死:JAVA_HEAP_MAX=-Xmx3g

尼玛啊,什么机器能轻松给3G的内存,改写成JAVA_HEAP_MAX=-Xmx1g

再查找一下mapred.map.child.java.opts 、 mapred.reduce.child.java.opts , 都写着4096m,还让渣渣机器活吗?

自己根据自己机器实际情况调整参数,保存退出。

再执行

bin/mahout --help
参考:http://www.cnblogs.com/chenfool/p/3802609.html


Python版本:我用的 Anaconda ,号称针对大数据处理、预测分析和科学计算的企业预备级Pyhton分支。之所以不用更为流行的Enthought版本,则是因为后者免费版不支持Mac OSX和Windows 64位版。

资料收藏:
推荐!国外程序员整理的 C++ 资源大全
http://blog.jobbole.com/78901/#rd
分析一下这段代码:#include "gaussianfit.h" #include <math.h> static float log_table[LOG_TABLE_SIZE]; static float A_table[MAX_WIDTH][3]; static float A_temp_table[3][MAX_WIDTH][NUM_MATRICES]; void GaussianFit( hls::stream<short> &max_location, hls::stream<ap_uint<168>> &max_neighbor, hls::stream<float> &gaussian_center_x, hls::stream<float> &gaussian_center_y, unsigned char gray_threshold, float accuracy_threshold ) { #pragma HLS INTERFACE axis port=max_location #pragma HLS INTERFACE axis port=max_neighbor #pragma HLS INTERFACE axis port=gaussian_center_x #pragma HLS INTERFACE axis port=gaussian_center_y #pragma HLS INTERFACE ap_none port=gray_threshold #pragma HLS INTERFACE ap_none port=accuracy_threshold #pragma HLS INTERFACE ap_ctrl_none port=return // 初始化log_table { #pragma HLS ARRAY_PARTITION variable=log_table type=complete dim=1 #pragma HLS BIND_STORAGE variable=log_table type=rom_1p log_table[0] = 0.00000000e+00; log_table[1] = 0.00000000e+00; log_table[2] = 6.93147182e-01; log_table[3] = 1.09861231e+00; log_table[4] = 1.38629436e+00; log_table[5] = 1.60943794e+00; log_table[6] = 1.79175949e+00; log_table[7] = 1.94591010e+00; log_table[8] = 2.07944155e+00; log_table[9] = 2.19722462e+00; log_table[10] = 2.30258512e+00; log_table[11] = 2.39789534e+00; log_table[12] = 2.48490667e+00; log_table[13] = 2.56494927e+00; log_table[14] = 2.63905740e+00; log_table[15] = 2.70805025e+00; log_table[16] = 2.77258873e+00; log_table[17] = 2.83321333e+00; log_table[18] = 2.89037180e+00; log_table[19] = 2.94443893e+00; log_table[20] = 2.99573231e+00; log_table[21] = 3.04452252e+00; log_table[22] = 3.09104252e+00; log_table[23] = 3.13549423e+00; log_table[24] = 3.17805386e+00; log_table[25] = 3.21887589e+00; log_table[26] = 3.25809646e+00; log_table[27] = 3.29583693e+00; log_table[28] = 3.33220458e+00; log_table[29] = 3.36729574e+00; log_table[30] = 3.40119743e+00; log_table[31] = 3.43398714e+00; log_table[32] = 3.46573591e+00; log_table[33] = 3.49650764e+00; log_table[34] = 3.52636051e+00; log_table[35] = 3.55534816e+00; log_table[36] = 3.58351898e+00; log_table[37] = 3.61091781e+00; log_table[38] = 3.63758612e+00; log_table[39] = 3.66356158e+00; log_table[40] = 3.68887949e+00; log_table[41] = 3.71357203e+00; log_table[42] = 3.73766971e+00; log_table[43] = 3.76120019e+00; log_table[44] = 3.78418970e+00; log_table[45] = 3.80666256e+00; log_table[46] = 3.82864141e+00; log_table[47] = 3.85014749e+00; log_table[48] = 3.87120104e+00; log_table[49] = 3.89182019e+00; log_table[50] = 3.91202307e+00; log_table[51] = 3.93182564e+00; log_table[52] = 3.95124364e+00; log_table[53] = 3.97029185e+00; log_table[54] = 3.98898411e+00; log_table[55] = 4.00733328e+00; log_table[56] = 4.02535152e+00; log_table[57] = 4.04305124e+00; log_table[58] = 4.06044292e+00; log_table[59] = 4.07753754e+00; log_table[60] = 4.09434462e+00; log_table[61] = 4.11087370e+00; log_table[62] = 4.12713432e+00; log_table[63] = 4.14313459e+00; log_table[64] = 4.15888309e+00; log_table[65] = 4.17438745e+00; log_table[66] = 4.18965483e+00; log_table[67] = 4.20469284e+00; log_table[68] = 4.21950769e+00; log_table[69] = 4.23410654e+00; log_table[70] = 4.24849510e+00; log_table[71] = 4.26268005e+00; log_table[72] = 4.27666616e+00; log_table[73] = 4.29045963e+00; log_table[74] = 4.30406523e+00; log_table[75] = 4.31748819e+00; log_table[76] = 4.33073330e+00; log_table[77] = 4.34380531e+00; log_table[78] = 4.35670900e+00; log_table[79] = 4.36944771e+00; log_table[80] = 4.38202667e+00; log_table[81] = 4.39444923e+00; log_table[82] = 4.40671921e+00; log_table[83] = 4.41884041e+00; log_table[84] = 4.43081665e+00; log_table[85] = 4.44265127e+00; log_table[86] = 4.45434713e+00; log_table[87] = 4.46590805e+00; log_table[88] = 4.47733688e+00; log_table[89] = 4.48863649e+00; log_table[90] = 4.49980974e+00; log_table[91] = 4.51085949e+00; log_table[92] = 4.52178860e+00; log_table[93] = 4.53259945e+00; log_table[94] = 4.54329491e+00; log_table[95] = 4.55387688e+00; log_table[96] = 4.56434822e+00; log_table[97] = 4.57471085e+00; log_table[98] = 4.58496761e+00; log_table[99] = 4.59511995e+00; log_table[100] = 4.60517025e+00; log_table[101] = 4.61512041e+00; log_table[102] = 4.62497282e+00; log_table[103] = 4.63472891e+00; log_table[104] = 4.64439106e+00; log_table[105] = 4.65396023e+00; log_table[106] = 4.66343927e+00; log_table[107] = 4.67282867e+00; log_table[108] = 4.68213129e+00; log_table[109] = 4.69134808e+00; log_table[110] = 4.70048046e+00; log_table[111] = 4.70953035e+00; log_table[112] = 4.71849871e+00; log_table[113] = 4.72738791e+00; log_table[114] = 4.73619843e+00; log_table[115] = 4.74493217e+00; log_table[116] = 4.75359011e+00; log_table[117] = 4.76217413e+00; log_table[118] = 4.77068472e+00; log_table[119] = 4.77912331e+00; log_table[120] = 4.78749180e+00; log_table[121] = 4.79579067e+00; log_table[122] = 4.80402088e+00; log_table[123] = 4.81218433e+00; log_table[124] = 4.82028151e+00; log_table[125] = 4.82831383e+00; log_table[126] = 4.83628178e+00; log_table[127] = 4.84418726e+00; log_table[128] = 4.85203028e+00; log_table[129] = 4.85981226e+00; log_table[130] = 4.86753464e+00; log_table[131] = 4.87519741e+00; log_table[132] = 4.88280201e+00; log_table[133] = 4.89034891e+00; log_table[134] = 4.89784002e+00; log_table[135] = 4.90527487e+00; log_table[136] = 4.91265488e+00; log_table[137] = 4.91998100e+00; log_table[138] = 4.92725372e+00; log_table[139] = 4.93447399e+00; log_table[140] = 4.94164228e+00; log_table[141] = 4.94876003e+00; log_table[142] = 4.95582724e+00; log_table[143] = 4.96284485e+00; log_table[144] = 4.96981335e+00; log_table[145] = 4.97673368e+00; log_table[146] = 4.98360682e+00; log_table[147] = 4.99043274e+00; log_table[148] = 4.99721241e+00; log_table[149] = 5.00394630e+00; log_table[150] = 5.01063538e+00; log_table[151] = 5.01727962e+00; log_table[152] = 5.02388048e+00; log_table[153] = 5.03043795e+00; log_table[154] = 5.03695250e+00; log_table[155] = 5.04342508e+00; log_table[156] = 5.04985619e+00; log_table[157] = 5.05624580e+00; log_table[158] = 5.06259489e+00; log_table[159] = 5.06890440e+00; log_table[160] = 5.07517385e+00; log_table[161] = 5.08140421e+00; log_table[162] = 5.08759642e+00; log_table[163] = 5.09375000e+00; log_table[164] = 5.09986639e+00; log_table[165] = 5.10594559e+00; log_table[166] = 5.11198759e+00; log_table[167] = 5.11799383e+00; log_table[168] = 5.12396383e+00; log_table[169] = 5.12989855e+00; log_table[170] = 5.13579845e+00; log_table[171] = 5.14166355e+00; log_table[172] = 5.14749432e+00; log_table[173] = 5.15329170e+00; log_table[174] = 5.15905523e+00; log_table[175] = 5.16478586e+00; log_table[176] = 5.17048407e+00; log_table[177] = 5.17614985e+00; log_table[178] = 5.18178368e+00; log_table[179] = 5.18738604e+00; log_table[180] = 5.19295692e+00; log_table[181] = 5.19849682e+00; log_table[182] = 5.20400667e+00; log_table[183] = 5.20948601e+00; log_table[184] = 5.21493578e+00; log_table[185] = 5.22035599e+00; log_table[186] = 5.22574663e+00; log_table[187] = 5.23110867e+00; log_table[188] = 5.23644209e+00; log_table[189] = 5.24174690e+00; log_table[190] = 5.24702406e+00; log_table[191] = 5.25227356e+00; log_table[192] = 5.25749540e+00; log_table[193] = 5.26269007e+00; log_table[194] = 5.26785803e+00; log_table[195] = 5.27299976e+00; log_table[196] = 5.27811480e+00; log_table[197] = 5.28320360e+00; log_table[198] = 5.28826714e+00; log_table[199] = 5.29330492e+00; log_table[200] = 5.29831743e+00; log_table[201] = 5.30330467e+00; log_table[202] = 5.30826759e+00; log_table[203] = 5.31320620e+00; log_table[204] = 5.31812000e+00; log_table[205] = 5.32300997e+00; log_table[206] = 5.32787609e+00; log_table[207] = 5.33271885e+00; log_table[208] = 5.33753824e+00; log_table[209] = 5.34233427e+00; log_table[210] = 5.34710741e+00; log_table[211] = 5.35185814e+00; log_table[212] = 5.35658646e+00; log_table[213] = 5.36129236e+00; log_table[214] = 5.36597586e+00; log_table[215] = 5.37063789e+00; log_table[216] = 5.37527847e+00; log_table[217] = 5.37989712e+00; log_table[218] = 5.38449526e+00; log_table[219] = 5.38907194e+00; log_table[220] = 5.39362764e+00; log_table[221] = 5.39816284e+00; log_table[222] = 5.40267754e+00; log_table[223] = 5.40717173e+00; log_table[224] = 5.41164589e+00; log_table[225] = 5.41610050e+00; log_table[226] = 5.42053509e+00; log_table[227] = 5.42495012e+00; log_table[228] = 5.42934561e+00; log_table[229] = 5.43372202e+00; log_table[230] = 5.43807936e+00; log_table[231] = 5.44241762e+00; log_table[232] = 5.44673729e+00; log_table[233] = 5.45103836e+00; log_table[234] = 5.45532131e+00; log_table[235] = 5.45958567e+00; log_table[236] = 5.46383190e+00; log_table[237] = 5.46806002e+00; log_table[238] = 5.47227049e+00; log_table[239] = 5.47646332e+00; log_table[240] = 5.48063898e+00; log_table[241] = 5.48479700e+00; log_table[242] = 5.48893785e+00; log_table[243] = 5.49306154e+00; log_table[244] = 5.49716806e+00; log_table[245] = 5.50125837e+00; log_table[246] = 5.50533152e+00; log_table[247] = 5.50938845e+00; log_table[248] = 5.51342869e+00; log_table[249] = 5.51745272e+00; log_table[250] = 5.52146101e+00; log_table[251] = 5.52545309e+00; log_table[252] = 5.52942896e+00; log_table[253] = 5.53338957e+00; log_table[254] = 5.53733444e+00; log_table[255] = 5.54126358e+00; } // 初始化 A_table { #pragma HLS ARRAY_PARTITION variable=A_table complete dim=2 #pragma HLS BIND_STORAGE variable=A_table type=rom_1p for (int i = 0; i < MAX_WIDTH; i++) { // #pragma HLS UNROLL A_table[i][0] = 1.0f; A_table[i][1] = (float)i; A_table[i][2] = (float)(i * i); } } // 初始化 A_temp_table { #pragma HLS ARRAY_PARTITION variable=A_temp_table complete dim=3 #pragma HLS BIND_STORAGE variable=A_temp_table type=ram_1p A_temp_table[0][0][0] = 1.f; A_temp_table[0][1][0] = 0.0f; A_temp_table[0][2][0] = 0.0f; A_temp_table[0][3][0] = 0.0f; A_temp_table[0][4][0] = 0.0f; A_temp_table[0][5][0] = 0.0f; A_temp_table[0][6][0] = 0.0f; A_temp_table[0][7][0] = 0.0f; A_temp_table[0][8][0] = 0.0f; A_temp_table[0][9][0] = 0.0f; A_temp_table[0][10][0] = 0.0f; A_temp_table[0][11][0] = 0.0f; A_temp_table[0][12][0] = 0.0f; // A_temp_table[0][13][0] = 0.0f; // A_temp_table[0][14][0] = 0.0f; A_temp_table[1][0][0] = -1.50000000e+00f; A_temp_table[1][1][0] = 2.f; A_temp_table[1][2][0] = -5.00000000e-01f; A_temp_table[1][3][0] = 0.0f; A_temp_table[1][4][0] = 0.0f; A_temp_table[1][5][0] = 0.0f; A_temp_table[1][6][0] = 0.0f; A_temp_table[1][7][0] = 0.0f; A_temp_table[1][8][0] = 0.0f; A_temp_table[1][9][0] = 0.0f; A_temp_table[1][10][0] = 0.0f; A_temp_table[1][11][0] = 0.0f; A_temp_table[1][12][0] = 0.0f; // A_temp_table[1][13][0] = 0.0f; // A_temp_table[1][14][0] = 0.0f; A_temp_table[2][0][0] = 5.00000000e-01f; A_temp_table[2][1][0] = -1.f; A_temp_table[2][2][0] = 5.00000000e-01f; A_temp_table[2][3][0] = 0.0f; A_temp_table[2][4][0] = 0.0f; A_temp_table[2][5][0] = 0.0f; A_temp_table[2][6][0] = 0.0f; A_temp_table[2][7][0] = 0.0f; A_temp_table[2][8][0] = 0.0f; A_temp_table[2][9][0] = 0.0f; A_temp_table[2][10][0] = 0.0f; A_temp_table[2][11][0] = 0.0f; A_temp_table[2][12][0] = 0.0f; // A_temp_table[2][13][0] = 0.0f; // A_temp_table[2][14][0] = 0.0f; A_temp_table[0][0][1] = 9.49999988e-01f; A_temp_table[0][1][1] = 1.50000006e-01f; A_temp_table[0][2][1] = -1.50000006e-01f; A_temp_table[0][3][1] = 5.00000007e-02f; A_temp_table[0][4][1] = 0.0f; A_temp_table[0][5][1] = 0.0f; A_temp_table[0][6][1] = 0.0f; A_temp_table[0][7][1] = 0.0f; A_temp_table[0][8][1] = 0.0f; A_temp_table[0][9][1] = 0.0f; A_temp_table[0][10][1] = 0.0f; A_temp_table[0][11][1] = 0.0f; A_temp_table[0][12][1] = 0.0f; // A_temp_table[0][13][1] = 0.0f; // A_temp_table[0][14][1] = 0.0f; A_temp_table[1][0][1] = -1.04999995e+00f; A_temp_table[1][1][1] = 6.49999976e-01f; A_temp_table[1][2][1] = 8.50000024e-01f; A_temp_table[1][3][1] = -4.49999988e-01f; A_temp_table[1][4][1] = 0.0f; A_temp_table[1][5][1] = 0.0f; A_temp_table[1][6][1] = 0.0f; A_temp_table[1][7][1] = 0.0f; A_temp_table[1][8][1] = 0.0f; A_temp_table[1][9][1] = 0.0f; A_temp_table[1][10][1] = 0.0f; A_temp_table[1][11][1] = 0.0f; A_temp_table[1][12][1] = 0.0f; // A_temp_table[1][13][1] = 0.0f; // A_temp_table[1][14][1] = 0.0f; A_temp_table[2][0][1] = 2.50000000e-01f; A_temp_table[2][1][1] = -2.50000000e-01f; A_temp_table[2][2][1] = -2.50000000e-01f; A_temp_table[2][3][1] = 2.50000000e-01f; A_temp_table[2][4][1] = 0.0f; A_temp_table[2][5][1] = 0.0f; A_temp_table[2][6][1] = 0.0f; A_temp_table[2][7][1] = 0.0f; A_temp_table[2][8][1] = 0.0f; A_temp_table[2][9][1] = 0.0f; A_temp_table[2][10][1] = 0.0f; A_temp_table[2][11][1] = 0.0f; A_temp_table[2][12][1] = 0.0f; // A_temp_table[2][13][1] = 0.0f; // A_temp_table[2][14][1] = 0.0f; A_temp_table[0][0][2] = 8.85714293e-01f; A_temp_table[0][1][2] = 2.57142872e-01f; A_temp_table[0][2][2] = -8.57142881e-02f; A_temp_table[0][3][2] = -1.42857149e-01f; A_temp_table[0][4][2] = 8.57142881e-02f; A_temp_table[0][5][2] = 0.0f; A_temp_table[0][6][2] = 0.0f; A_temp_table[0][7][2] = 0.0f; A_temp_table[0][8][2] = 0.0f; A_temp_table[0][9][2] = 0.0f; A_temp_table[0][10][2] = 0.0f; A_temp_table[0][11][2] = 0.0f; A_temp_table[0][12][2] = 0.0f; // A_temp_table[0][13][2] = 0.0f; // A_temp_table[0][14][2] = 0.0f; A_temp_table[1][0][2] = -7.71428585e-01f; A_temp_table[1][1][2] = 1.85714290e-01f; A_temp_table[1][2][2] = 5.71428597e-01f; A_temp_table[1][3][2] = 3.85714293e-01f; A_temp_table[1][4][2] = -3.71428579e-01f; A_temp_table[1][5][2] = 0.0f; A_temp_table[1][6][2] = 0.0f; A_temp_table[1][7][2] = 0.0f; A_temp_table[1][8][2] = 0.0f; A_temp_table[1][9][2] = 0.0f; A_temp_table[1][10][2] = 0.0f; A_temp_table[1][11][2] = 0.0f; A_temp_table[1][12][2] = 0.0f; // A_temp_table[1][13][2] = 0.0f; // A_temp_table[1][14][2] = 0.0f; A_temp_table[2][0][2] = 1.42857149e-01f; A_temp_table[2][1][2] = -7.14285746e-02f; A_temp_table[2][2][2] = -1.42857149e-01f; A_temp_table[2][3][2] = -7.14285746e-02f; A_temp_table[2][4][2] = 1.42857149e-01f; A_temp_table[2][5][2] = 0.0f; A_temp_table[2][6][2] = 0.0f; A_temp_table[2][7][2] = 0.0f; A_temp_table[2][8][2] = 0.0f; A_temp_table[2][9][2] = 0.0f; A_temp_table[2][10][2] = 0.0f; A_temp_table[2][11][2] = 0.0f; A_temp_table[2][12][2] = 0.0f; // A_temp_table[2][13][2] = 0.0f; // A_temp_table[2][14][2] = 0.0f; A_temp_table[0][0][3] = 8.21428597e-01f; A_temp_table[0][1][3] = 3.21428567e-01f; A_temp_table[0][2][3] = 0.0f; A_temp_table[0][3][3] = -1.42857149e-01f; A_temp_table[0][4][3] = -1.07142858e-01f; A_temp_table[0][5][3] = 1.07142858e-01f; A_temp_table[0][6][3] = 0.0f; A_temp_table[0][7][3] = 0.0f; A_temp_table[0][8][3] = 0.0f; A_temp_table[0][9][3] = 0.0f; A_temp_table[0][10][3] = 0.0f; A_temp_table[0][11][3] = 0.0f; A_temp_table[0][12][3] = 0.0f; // A_temp_table[0][13][3] = 0.0f; // A_temp_table[0][14][3] = 0.0f; A_temp_table[1][0][3] = -5.89285731e-01f; A_temp_table[1][1][3] = 3.57142859e-03f; A_temp_table[1][2][3] = 3.28571439e-01f; A_temp_table[1][3][3] = 3.85714293e-01f; A_temp_table[1][4][3] = 1.74999997e-01f; A_temp_table[1][5][3] = -3.03571433e-01f; A_temp_table[1][6][3] = 0.0f; A_temp_table[1][7][3] = 0.0f; A_temp_table[1][8][3] = 0.0f; A_temp_table[1][9][3] = 0.0f; A_temp_table[1][10][3] = 0.0f; A_temp_table[1][11][3] = 0.0f; A_temp_table[1][12][3] = 0.0f; // A_temp_table[1][13][3] = 0.0f; // A_temp_table[1][14][3] = 0.0f; A_temp_table[2][0][3] = 8.92857164e-02f; A_temp_table[2][1][3] = -1.78571437e-02f; A_temp_table[2][2][3] = -7.14285746e-02f; A_temp_table[2][3][3] = -7.14285746e-02f; A_temp_table[2][4][3] = -1.78571437e-02f; A_temp_table[2][5][3] = 8.92857164e-02f; A_temp_table[2][6][3] = 0.0f; A_temp_table[2][7][3] = 0.0f; A_temp_table[2][8][3] = 0.0f; A_temp_table[2][9][3] = 0.0f; A_temp_table[2][10][3] = 0.0f; A_temp_table[2][11][3] = 0.0f; A_temp_table[2][12][3] = 0.0f; // A_temp_table[2][13][3] = 0.0f; // A_temp_table[2][14][3] = 0.0f; A_temp_table[0][0][4] = 7.61904776e-01f; A_temp_table[0][1][4] = 3.57142866e-01f; A_temp_table[0][2][4] = 7.14285746e-02f; A_temp_table[0][3][4] = -9.52380970e-02f; A_temp_table[0][4][4] = -1.42857149e-01f; A_temp_table[0][5][4] = -7.14285746e-02f; A_temp_table[0][6][4] = 1.19047619e-01f; A_temp_table[0][7][4] = 0.0f; A_temp_table[0][8][4] = 0.0f; A_temp_table[0][9][4] = 0.0f; A_temp_table[0][10][4] = 0.0f; A_temp_table[0][11][4] = 0.0f; A_temp_table[0][12][4] = 0.0f; // A_temp_table[0][13][4] = 0.0f; // A_temp_table[0][14][4] = 0.0f; A_temp_table[1][0][4] = -4.64285702e-01f; A_temp_table[1][1][4] = -7.14285746e-02f; A_temp_table[1][2][4] = 1.78571433e-01f; A_temp_table[1][3][4] = 2.85714298e-01f; A_temp_table[1][4][4] = 2.50000000e-01f; A_temp_table[1][5][4] = 7.14285746e-02f; A_temp_table[1][6][4] = -2.50000000e-01f; A_temp_table[1][7][4] = 0.0f; A_temp_table[1][8][4] = 0.0f; A_temp_table[1][9][4] = 0.0f; A_temp_table[1][10][4] = 0.0f; A_temp_table[1][11][4] = 0.0f; A_temp_table[1][12][4] = 0.0f; // A_temp_table[1][13][4] = 0.0f; // A_temp_table[1][14][4] = 0.0f; A_temp_table[2][0][4] = 5.95238097e-02f; A_temp_table[2][1][4] = 0.0f; A_temp_table[2][2][4] = -3.57142873e-02f; A_temp_table[2][3][4] = -4.76190485e-02f; A_temp_table[2][4][4] = -3.57142873e-02f; A_temp_table[2][5][4] = 0.0f; A_temp_table[2][6][4] = 5.95238097e-02f; A_temp_table[2][7][4] = 0.0f; A_temp_table[2][8][4] = 0.0f; A_temp_table[2][9][4] = 0.0f; A_temp_table[2][10][4] = 0.0f; A_temp_table[2][11][4] = 0.0f; A_temp_table[2][12][4] = 0.0f; // A_temp_table[2][13][4] = 0.0f; // A_temp_table[2][14][4] = 0.0f; A_temp_table[0][0][5] = 7.08333313e-01f; A_temp_table[0][1][5] = 3.75000000e-01f; A_temp_table[0][2][5] = 1.25000000e-01f; A_temp_table[0][3][5] = -4.16666679e-02f; A_temp_table[0][4][5] = -1.25000000e-01f; A_temp_table[0][5][5] = -1.25000000e-01f; A_temp_table[0][6][5] = -4.16666679e-02f; A_temp_table[0][7][5] = 1.25000000e-01f; A_temp_table[0][8][5] = 0.0f; A_temp_table[0][9][5] = 0.0f; A_temp_table[0][10][5] = 0.0f; A_temp_table[0][11][5] = 0.0f; A_temp_table[0][12][5] = 0.0f; // A_temp_table[0][13][5] = 0.0f; // A_temp_table[0][14][5] = 0.0f; A_temp_table[1][0][5] = -3.75000000e-01f; A_temp_table[1][1][5] = -1.01190478e-01f; A_temp_table[1][2][5] = 8.92857164e-02f; A_temp_table[1][3][5] = 1.96428567e-01f; A_temp_table[1][4][5] = 2.20238090e-01f; A_temp_table[1][5][5] = 1.60714284e-01f; A_temp_table[1][6][5] = 1.78571437e-02f; A_temp_table[1][7][5] = -2.08333328e-01f; A_temp_table[1][8][5] = 0.0f; A_temp_table[1][9][5] = 0.0f; A_temp_table[1][10][5] = 0.0f; A_temp_table[1][11][5] = 0.0f; A_temp_table[1][12][5] = 0.0f; // A_temp_table[1][13][5] = 0.0f; // A_temp_table[1][14][5] = 0.0f; A_temp_table[2][0][5] = 4.16666679e-02f; A_temp_table[2][1][5] = 5.95238106e-03f; A_temp_table[2][2][5] = -1.78571437e-02f; A_temp_table[2][3][5] = -2.97619049e-02f; A_temp_table[2][4][5] = -2.97619049e-02f; A_temp_table[2][5][5] = -1.78571437e-02f; A_temp_table[2][6][5] = 5.95238106e-03f; A_temp_table[2][7][5] = 4.16666679e-02f; A_temp_table[2][8][5] = 0.0f; A_temp_table[2][9][5] = 0.0f; A_temp_table[2][10][5] = 0.0f; A_temp_table[2][11][5] = 0.0f; A_temp_table[2][12][5] = 0.0f; // A_temp_table[2][13][5] = 0.0f; // A_temp_table[2][14][5] = 0.0f; A_temp_table[0][0][6] = 6.60606086e-01f; A_temp_table[0][1][6] = 3.81818175e-01f; A_temp_table[0][2][6] = 1.63636357e-01f; A_temp_table[0][3][6] = 6.06060587e-03f; A_temp_table[0][4][6] = -9.09090936e-02f; A_temp_table[0][5][6] = -1.27272725e-01f; A_temp_table[0][6][6] = -1.03030302e-01f; A_temp_table[0][7][6] = -1.81818176e-02f; A_temp_table[0][8][6] = 1.27272725e-01f; A_temp_table[0][9][6] = 0.0f; A_temp_table[0][10][6] = 0.0f; A_temp_table[0][11][6] = 0.0f; A_temp_table[0][12][6] = 0.0f; // A_temp_table[0][13][6] = 0.0f; // A_temp_table[0][14][6] = 0.0f; A_temp_table[1][0][6] = -3.09090912e-01f; A_temp_table[1][1][6] = -1.10606059e-01f; A_temp_table[1][2][6] = 3.59307341e-02f; A_temp_table[1][3][6] = 1.30519480e-01f; A_temp_table[1][4][6] = 1.73160180e-01f; A_temp_table[1][5][6] = 1.63852811e-01f; A_temp_table[1][6][6] = 1.02597401e-01f; A_temp_table[1][7][6] = -1.06060607e-02f; A_temp_table[1][8][6] = -1.75757572e-01f; A_temp_table[1][9][6] = 0.0f; A_temp_table[1][10][6] = 0.0f; A_temp_table[1][11][6] = 0.0f; A_temp_table[1][12][6] = 0.0f; // A_temp_table[1][13][6] = 0.0f; // A_temp_table[1][14][6] = 0.0f; A_temp_table[2][0][6] = 3.03030312e-02f; A_temp_table[2][1][6] = 7.57575780e-03f; A_temp_table[2][2][6] = -8.65800865e-03f; A_temp_table[2][3][6] = -1.83982681e-02f; A_temp_table[2][4][6] = -2.16450226e-02f; A_temp_table[2][5][6] = -1.83982681e-02f; A_temp_table[2][6][6] = -8.65800865e-03f; A_temp_table[2][7][6] = 7.57575780e-03f; A_temp_table[2][8][6] = 3.03030312e-02f; A_temp_table[2][9][6] = 0.0f; A_temp_table[2][10][6] = 0.0f; A_temp_table[2][11][6] = 0.0f; A_temp_table[2][12][6] = 0.0f; // A_temp_table[2][13][6] = 0.0f; // A_temp_table[2][14][6] = 0.0f; A_temp_table[0][0][7] = 6.18181825e-01f; A_temp_table[0][1][7] = 3.81818175e-01f; A_temp_table[0][2][7] = 1.90909088e-01f; A_temp_table[0][3][7] = 4.54545468e-02f; A_temp_table[0][4][7] = -5.45454547e-02f; A_temp_table[0][5][7] = -1.09090909e-01f; A_temp_table[0][6][7] = -1.18181817e-01f; A_temp_table[0][7][7] = -8.18181783e-02f; A_temp_table[0][8][7] = 0.0f; A_temp_table[0][9][7] = 1.27272725e-01f; A_temp_table[0][10][7] = 0.0f; A_temp_table[0][11][7] = 0.0f; A_temp_table[0][12][7] = 0.0f; // A_temp_table[0][13][7] = 0.0f; // A_temp_table[0][14][7] = 0.0f; A_temp_table[1][0][7] = -2.59090900e-01f; A_temp_table[1][1][7] = -1.10606059e-01f; A_temp_table[1][2][7] = 3.78787890e-03f; A_temp_table[1][3][7] = 8.40909109e-02f; A_temp_table[1][4][7] = 1.30303025e-01f; A_temp_table[1][5][7] = 1.42424241e-01f; A_temp_table[1][6][7] = 1.20454542e-01f; A_temp_table[1][7][7] = 6.43939376e-02f; A_temp_table[1][8][7] = -2.57575754e-02f; A_temp_table[1][9][7] = -1.50000006e-01f; A_temp_table[1][10][7] = 0.0f; A_temp_table[1][11][7] = 0.0f; A_temp_table[1][12][7] = 0.0f; // A_temp_table[1][13][7] = 0.0f; // A_temp_table[1][14][7] = 0.0f; A_temp_table[2][0][7] = 2.27272734e-02f; A_temp_table[2][1][7] = 7.57575780e-03f; A_temp_table[2][2][7] = -3.78787890e-03f; A_temp_table[2][3][7] = -1.13636367e-02f; A_temp_table[2][4][7] = -1.51515156e-02f; A_temp_table[2][5][7] = -1.51515156e-02f; A_temp_table[2][6][7] = -1.13636367e-02f; A_temp_table[2][7][7] = -3.78787890e-03f; A_temp_table[2][8][7] = 7.57575780e-03f; A_temp_table[2][9][7] = 2.27272734e-02f; A_temp_table[2][10][7] = 0.0f; A_temp_table[2][11][7] = 0.0f; A_temp_table[2][12][7] = 0.0f; // A_temp_table[2][13][7] = 0.0f; // A_temp_table[2][14][7] = 0.0f; A_temp_table[0][0][8] = 5.80419600e-01f; A_temp_table[0][1][8] = 3.77622366e-01f; A_temp_table[0][2][8] = 2.09790215e-01f; A_temp_table[0][3][8] = 7.69230798e-02f; A_temp_table[0][4][8] = -2.09790207e-02f; A_temp_table[0][5][8] = -8.39160830e-02f; A_temp_table[0][6][8] = -1.11888111e-01f; A_temp_table[0][7][8] = -1.04895107e-01f; A_temp_table[0][8][8] = -6.29370660e-02f; A_temp_table[0][9][8] = 1.39860138e-02f; A_temp_table[0][10][8] = 1.25874132e-01f; A_temp_table[0][11][8] = 0.0f; A_temp_table[0][12][8] = 0.0f; // A_temp_table[0][13][8] = 0.0f; // A_temp_table[0][14][8] = 0.0f; A_temp_table[1][0][8] = -2.20279723e-01f; A_temp_table[1][1][8] = -1.06293708e-01f; A_temp_table[1][2][8] = -1.56177152e-02f; A_temp_table[1][3][8] = 5.17482534e-02f; A_temp_table[1][4][8] = 9.58041921e-02f; A_temp_table[1][5][8] = 1.16550118e-01f; A_temp_table[1][6][8] = 1.13986015e-01f; A_temp_table[1][7][8] = 8.81118849e-02f; A_temp_table[1][8][8] = 3.89277376e-02f; A_temp_table[1][9][8] = -3.35664339e-02f; A_temp_table[1][10][8] = -1.29370630e-01f; A_temp_table[1][11][8] = 0.0f; A_temp_table[1][12][8] = 0.0f; // A_temp_table[1][13][8] = 0.0f; // A_temp_table[1][14][8] = 0.0f; A_temp_table[2][0][8] = 1.74825173e-02f; A_temp_table[2][1][8] = 6.99300691e-03f; A_temp_table[2][2][8] = -1.16550119e-03f; A_temp_table[2][3][8] = -6.99300691e-03f; A_temp_table[2][4][8] = -1.04895104e-02f; A_temp_table[2][5][8] = -1.16550112e-02f; A_temp_table[2][6][8] = -1.04895104e-02f; A_temp_table[2][7][8] = -6.99300691e-03f; A_temp_table[2][8][8] = -1.16550119e-03f; A_temp_table[2][9][8] = 6.99300691e-03f; A_temp_table[2][10][8] = 1.74825173e-02f; A_temp_table[2][11][8] = 0.0f; A_temp_table[2][12][8] = 0.0f; // A_temp_table[2][13][8] = 0.0f; // A_temp_table[2][14][8] = 0.0f; A_temp_table[0][0][9] = 5.46703279e-01f; A_temp_table[0][1][9] = 3.70879114e-01f; A_temp_table[0][2][9] = 2.22527474e-01f; A_temp_table[0][3][9] = 1.01648353e-01f; A_temp_table[0][4][9] = 8.24175868e-03f; A_temp_table[0][5][9] = -5.76923080e-02f; A_temp_table[0][6][9] = -9.61538479e-02f; A_temp_table[0][7][9] = -1.07142858e-01f; A_temp_table[0][8][9] = -9.06593427e-02f; A_temp_table[0][9][9] = -4.67032976e-02f; A_temp_table[0][10][9] = 2.47252751e-02f; A_temp_table[0][11][9] = 1.23626374e-01f; A_temp_table[0][12][9] = 0.0f; // A_temp_table[0][13][9] = 0.0f; // A_temp_table[0][14][9] = 0.0f; A_temp_table[1][0][9] = -1.89560443e-01f; A_temp_table[1][1][9] = -1.00149848e-01f; A_temp_table[1][2][9] = -2.72227768e-02f; A_temp_table[1][3][9] = 2.92207785e-02f; A_temp_table[1][4][9] = 6.91808164e-02f; A_temp_table[1][5][9] = 9.26573426e-02f; A_temp_table[1][6][9] = 9.96503532e-02f; A_temp_table[1][7][9] = 9.01598409e-02f; A_temp_table[1][8][9] = 6.41858131e-02f; A_temp_table[1][9][9] = 2.17282716e-02f; A_temp_table[1][10][9] = -3.72127891e-02f; A_temp_table[1][11][9] = -1.12637363e-01f; A_temp_table[1][12][9] = 0.0f; // A_temp_table[1][13][9] = 0.0f; // A_temp_table[1][14][9] = 0.0f; A_temp_table[2][0][9] = 1.37362638e-02f; A_temp_table[2][1][9] = 6.24375604e-03f; A_temp_table[2][2][9] = 2.49750243e-04f; A_temp_table[2][3][9] = -4.24575433e-03f; A_temp_table[2][4][9] = -7.24275736e-03f; A_temp_table[2][5][9] = -8.74125864e-03f; A_temp_table[2][6][9] = -8.74125864e-03f; A_temp_table[2][7][9] = -7.24275736e-03f; A_temp_table[2][8][9] = -4.24575433e-03f; A_temp_table[2][9][9] = 2.49750243e-04f; A_temp_table[2][10][9] = 6.24375604e-03f; A_temp_table[2][11][9] = 1.37362638e-02f; A_temp_table[2][12][9] = 0.0f; // A_temp_table[2][13][9] = 0.0f; // A_temp_table[2][14][9] = 0.0f; A_temp_table[0][0][10] = 5.16483545e-01f; A_temp_table[0][1][10] = 3.62637371e-01f; A_temp_table[0][2][10] = 2.30769232e-01f; A_temp_table[0][3][10] = 1.20879121e-01f; A_temp_table[0][4][10] = 3.29670347e-02f; A_temp_table[0][5][10] = -3.29670347e-02f; A_temp_table[0][6][10] = -7.69230798e-02f; A_temp_table[0][7][10] = -9.89011005e-02f; A_temp_table[0][8][10] = -9.89011005e-02f; A_temp_table[0][9][10] = -7.69230798e-02f; A_temp_table[0][10][10] = -3.29670347e-02f; A_temp_table[0][11][10] = 3.29670347e-02f; A_temp_table[0][12][10] = 1.20879121e-01f; // A_temp_table[0][13][10] = 0.0f; // A_temp_table[0][14][10] = 0.0f; A_temp_table[1][0][10] = -1.64835170e-01f; A_temp_table[1][1][10] = -9.34065953e-02f; A_temp_table[1][2][10] = -3.39660347e-02f; A_temp_table[1][3][10] = 1.34865139e-02f; A_temp_table[1][4][10] = 4.89510484e-02f; A_temp_table[1][5][10] = 7.24275708e-02f; A_temp_table[1][6][10] = 8.39160830e-02f; A_temp_table[1][7][10] = 8.34165812e-02f; A_temp_table[1][8][10] = 7.09290728e-02f; A_temp_table[1][9][10] = 4.64535467e-02f; A_temp_table[1][10][10] = 9.99001041e-03f; A_temp_table[1][11][10] = -3.84615399e-02f; A_temp_table[1][12][10] = -9.89011005e-02f; // A_temp_table[1][13][10] = 0.0f; // A_temp_table[1][14][10] = 0.0f; A_temp_table[2][0][10] = 1.09890113e-02f; A_temp_table[2][1][10] = 5.49450563e-03f; A_temp_table[2][2][10] = 9.99000971e-04f; A_temp_table[2][3][10] = -2.49750260e-03f; A_temp_table[2][4][10] = -4.99500521e-03f; A_temp_table[2][5][10] = -6.49350649e-03f; A_temp_table[2][6][10] = -6.99300691e-03f; A_temp_table[2][7][10] = -6.49350649e-03f; A_temp_table[2][8][10] = -4.99500521e-03f; A_temp_table[2][9][10] = -2.49750260e-03f; A_temp_table[2][10][10] = 9.99000971e-04f; A_temp_table[2][11][10] = 5.49450563e-03f; A_temp_table[2][12][10] = 1.09890113e-02f; // A_temp_table[2][13][10] = 0.0f; // A_temp_table[2][14][10] = 0.0f; // A_temp_table[0][0][11] = 4.89285707e-01f; // A_temp_table[0][1][11] = 3.53571415e-01f; // A_temp_table[0][2][11] = 2.35714287e-01f; // A_temp_table[0][3][11] = 1.35714293e-01f; // A_temp_table[0][4][11] = 5.35714291e-02f; // A_temp_table[0][5][11] = -1.07142860e-02f; // A_temp_table[0][6][11] = -5.71428575e-02f; // A_temp_table[0][7][11] = -8.57142881e-02f; // A_temp_table[0][8][11] = -9.64285731e-02f; // A_temp_table[0][9][11] = -8.92857164e-02f; // A_temp_table[0][10][11] = -6.42857179e-02f; // A_temp_table[0][11][11] = -2.14285720e-02f; // A_temp_table[0][12][11] = 3.92857157e-02f; //// A_temp_table[0][13][11] = 1.17857143e-01f; //// A_temp_table[0][14][11] = 0.0f; // // A_temp_table[1][0][11] = -1.44642860e-01f; // A_temp_table[1][1][11] = -8.66758227e-02f; // A_temp_table[1][2][11] = -3.76373641e-02f; // A_temp_table[1][3][11] = 2.47252756e-03f; // A_temp_table[1][4][11] = 3.36538479e-02f; // A_temp_table[1][5][11] = 5.59065938e-02f; // A_temp_table[1][6][11] = 6.92307726e-02f; // A_temp_table[1][7][11] = 7.36263767e-02f; // A_temp_table[1][8][11] = 6.90934062e-02f; // A_temp_table[1][9][11] = 5.56318685e-02f; // A_temp_table[1][10][11] = 3.32417600e-02f; // A_temp_table[1][11][11] = 1.92307692e-03f; // A_temp_table[1][12][11] = -3.83241773e-02f; //// A_temp_table[1][13][11] = -8.74999985e-02f; //// A_temp_table[1][14][11] = 0.0f; // // A_temp_table[2][0][11] = 8.92857183e-03f; // A_temp_table[2][1][11] = 4.80769249e-03f; // A_temp_table[2][2][11] = 1.37362641e-03f; // A_temp_table[2][3][11] = -1.37362641e-03f; // A_temp_table[2][4][11] = -3.43406596e-03f; // A_temp_table[2][5][11] = -4.80769249e-03f; // A_temp_table[2][6][11] = -5.49450563e-03f; // A_temp_table[2][7][11] = -5.49450563e-03f; // A_temp_table[2][8][11] = -4.80769249e-03f; // A_temp_table[2][9][11] = -3.43406596e-03f; // A_temp_table[2][10][11] = -1.37362641e-03f; // A_temp_table[2][11][11] = 1.37362641e-03f; // A_temp_table[2][12][11] = 4.80769249e-03f; //// A_temp_table[2][13][11] = 8.92857183e-03f; //// A_temp_table[2][14][11] = 0.0f; // A_temp_table[0][0][12] = 4.64705884e-01f; // A_temp_table[0][1][12] = 3.44117641e-01f; // A_temp_table[0][2][12] = 2.38235295e-01f; // A_temp_table[0][3][12] = 1.47058830e-01f; // A_temp_table[0][4][12] = 7.05882385e-02f; // A_temp_table[0][5][12] = 8.82352982e-03f; // A_temp_table[0][6][12] = -3.82352956e-02f; // A_temp_table[0][7][12] = -7.05882385e-02f; // A_temp_table[0][8][12] = -8.82352963e-02f; // A_temp_table[0][9][12] = -9.11764726e-02f; // A_temp_table[0][10][12] = -7.94117674e-02f; // A_temp_table[0][11][12] = -5.29411770e-02f; // A_temp_table[0][12][12] = -1.17647061e-02f; // A_temp_table[0][13][12] = 4.41176482e-02f; // A_temp_table[0][14][12] = 1.14705883e-01f; // // // A_temp_table[1][0][12] = -1.27941176e-01f; // A_temp_table[1][1][12] = -8.02521035e-02f; // A_temp_table[1][2][12] = -3.93503569e-02f; // A_temp_table[1][3][12] = -5.23594068e-03f; // A_temp_table[1][4][12] = 2.20911447e-02f; // A_temp_table[1][5][12] = 4.26308997e-02f; // A_temp_table[1][6][12] = 5.63833229e-02f; // A_temp_table[1][7][12] = 6.33484200e-02f; // A_temp_table[1][8][12] = 6.35261834e-02f; // A_temp_table[1][9][12] = 5.69166131e-02f; // A_temp_table[1][10][12] = 4.35197167e-02f; // A_temp_table[1][11][12] = 2.33354885e-02f; // A_temp_table[1][12][12] = -3.63606983e-03f; // A_temp_table[1][13][12] = -3.73949595e-02f; // A_temp_table[1][14][12] = -7.79411793e-02f; // // // A_temp_table[2][0][12] = 7.35294120e-03f; // A_temp_table[2][1][12] = 4.20168089e-03f; // A_temp_table[2][2][12] = 1.53522950e-03f; // A_temp_table[2][3][12] = -6.46412431e-04f; // A_temp_table[2][4][12] = -2.34324508e-03f; // A_temp_table[2][5][12] = -3.55526828e-03f; // A_temp_table[2][6][12] = -4.28248243e-03f; // A_temp_table[2][7][12] = -4.52488707e-03f; // A_temp_table[2][8][12] = -4.28248243e-03f; // A_temp_table[2][9][12] = -3.55526828e-03f; // A_temp_table[2][10][12] = -2.34324508e-03f; // A_temp_table[2][11][12] = -6.46412431e-04f; // A_temp_table[2][12][12] = 1.53522950e-03f; // A_temp_table[2][13][12] = 4.20168089e-03f; // A_temp_table[2][14][12] = 7.35294120e-03f; } // 灰度最大值及其20邻域 static unsigned char max_neighbor_buffer[BUFFER_ROWS][WIDTH]; #pragma HLS ARRAY_PARTITION variable=max_neighbor_buffer complete dim=1 #pragma HLS BIND_STORAGE variable=max_neighbor_buffer type=ram_2p // 灰度最大值位置 static short max_loc_buffer[WIDTH]; #pragma HLS BIND_STORAGE variable=max_loc_buffer type=ram_2p // 每列是否为背景 static bool is_background[WIDTH]; #pragma HLS BIND_STORAGE variable=is_background type=ram_2p // 激光线宽起始位置 static short start_loc_buffer[WIDTH]; #pragma HLS BIND_STORAGE variable=start_loc_buffer type=ram_2p // 激光线宽度 static short width_buffer[WIDTH]; #pragma HLS BIND_STORAGE variable=width_buffer type=ram_2p // b, x static float b_buffer[WIDTH][MAX_WIDTH]; static float x_buffer[WIDTH][3]; #pragma HLS ARRAY_PARTITION variable=b_buffer complete dim=2 #pragma HLS ARRAY_PARTITION variable=x_buffer complete dim=2 #pragma HLS BIND_STORAGE variable=b_buffer type=ram_2p #pragma HLS BIND_STORAGE variable=x_buffer type=ram_2p // 平方和 static float sum_buffer[WIDTH]; #pragma HLS BIND_STORAGE variable=sum_buffer type=ram_2p INIT_BUFFER: for (int j = 0; j < WIDTH; j++) { #pragma HLS PIPELINE II=1 for (int i = 0; i < BUFFER_ROWS; i++) { #pragma HLS UNROLL max_neighbor_buffer[i][j] = 0; } max_loc_buffer[j] = -1; is_background[j] = true; start_loc_buffer[j] = -1; width_buffer[j] = 0; for (int k = 0; k < MAX_WIDTH; k++) { #pragma HLS UNROLL b_buffer[j][k] = 0.0f; } for (int k = 0; k < 3; k++) { #pragma HLS UNROLL x_buffer[j][k] = 0.0f; } sum_buffer[j] = 0.0f; } RECEIVE_DATA_AND_PREPROCESS: for (int j = 0; j < WIDTH; j++) { #pragma HLS PIPELINE II=2 short max_loc = max_location.read(); max_loc_buffer[j] = max_loc; unsigned char current_window[BUFFER_ROWS]; #pragma HLS ARRAY_PARTITION variable=current_window complete dim=1 ap_uint<168> neighbor_data = max_neighbor.read(); save_neighbor: for (int k = 0; k < BUFFER_ROWS; k++) { #pragma HLS UNROLL current_window[k] = neighbor_data(8 * (k + 1) - 1, 8 * k); max_neighbor_buffer[k][j] = current_window[k]; } unsigned char max_val = current_window[10]; // 灰度最大值 if (max_val > gray_threshold) { is_background[j] = false; } // 搜索上下灰度边界 short start_idx = max_loc; short end_idx = max_loc; for (int k = 10; k >= 0; k--) { #pragma HLS UNROLL if (current_window[k] > gray_threshold) { start_idx = max_loc - (10 - k); } } for (int k = 10; k < BUFFER_ROWS; k++) { #pragma HLS UNROLL if (current_window[k] > gray_threshold) { end_idx = max_loc + (k - 10); } } // 宽度约束 short width = end_idx - start_idx + 1; if (width > MAX_WIDTH) { start_loc_buffer[j] = max_loc - (MAX_WIDTH - 1) / 2; width_buffer[j] = MAX_WIDTH; } else { start_loc_buffer[j] = start_idx; width_buffer[j] = width; } } CALCULATE_VECTOR_B_X: for (int j = 0; j < WIDTH; j++) { #pragma HLS PIPELINE II=1 float b[MAX_WIDTH]; float x[3]; #pragma HLS ARRAY_PARTITION variable=b complete dim=1 #pragma HLS ARRAY_PARTITION variable=x complete dim=1 init_temp_b: for (int k = 0; k < MAX_WIDTH; k++) { // #pragma HLS UNROLL b[k] = 0.0f; } init_temp_x: for (int i = 0; i < 3; i++) { // #pragma HLS UNROLL x[i] = 0.0f; } if (!is_background[j] && width_buffer[j] >= 3) { short width = width_buffer[j]; short start_offset = start_loc_buffer[j] - (max_loc_buffer[j] - 10); int matrix_idx = width - 3; build_b: for (int k = 0; k < MAX_WIDTH; k++) { // #pragma HLS UNROLL if (k < width) { short relative_idx = start_offset + k; unsigned char pixel = max_neighbor_buffer[relative_idx][j]; b[k] = log_table[pixel]; } } calculate_x_i: for (int i = 0; i < 3; i++) { // #pragma HLS UNROLL calculate_x_k: for (int k = 0; k < MAX_WIDTH; k++) { // #pragma HLS UNROLL if (k < width) { x[i] += A_temp_table[i][k][matrix_idx] * b[k]; } } } } save_b: for (int k = 0; k < MAX_WIDTH; k++) { // #pragma HLS UNROLL b_buffer[j][k] = b[k]; } save_x: for (int i = 0; i < 3; i++) { // #pragma HLS UNROLL x_buffer[j][i] = x[i]; } } CALCULATE_SUM: for (int j = 0; j < WIDTH; j++) { #pragma HLS PIPELINE II=1 float sum = 0.0f; if (!is_background[j] && width_buffer[j] >= 3) { short width = width_buffer[j]; float temp[MAX_WIDTH]; #pragma HLS ARRAY_PARTITION variable=temp complete dim=1 calculate_sum_k: for (int k = 0; k < MAX_WIDTH; k++) { #pragma HLS UNROLL if (k < width) { float ax = 0.0f; calculate_sum_i: for (int i = 0; i < 3; i++) { #pragma HLS UNROLL ax += A_table[k][i] * x_buffer[j][i]; } temp[k] = ax - b_buffer[j][k]; sum += temp[k] * temp[k]; } } } sum_buffer[j] = sum; } CALCULATE_GAUSS_CENTER: for (int j = 0; j < WIDTH; j++) { #pragma HLS PIPELINE II=1 float gauss_center = 0.0f; float sum = sum_buffer[j]; if (!is_background[j] && width_buffer[j] >= 3) { if (sum < accuracy_threshold * accuracy_threshold) { float x1 = x_buffer[j][1]; float x2 = x_buffer[j][2]; if (x2 != 0.0f) { gauss_center = -x1 / (2 * x2) + start_loc_buffer[j]; } else { gauss_center = start_loc_buffer[j]; } } } gaussian_center_x.write((float)j); gaussian_center_y.write(gauss_center); } }
最新发布
07-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值