From eb146ed254664263d80760547ad042a4c4362798 Mon Sep 17 00:00:00 2001 From: Rohit Paul <113459757+RohitPaul12345@users.noreply.github.com> Date: Fri, 28 Jul 2023 12:35:32 +0530 Subject: [PATCH] Update NyARSquareDetect.js --- src/NyARSquareDetect.js | 108 ++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/src/NyARSquareDetect.js b/src/NyARSquareDetect.js index f0af046..1d34da4 100644 --- a/src/NyARSquareDetect.js +++ b/src/NyARSquareDetect.js @@ -74,18 +74,18 @@ NyARContourPickup = ASKlass('NyARContourPickup', */ ,impl_getContour : function(i_raster,i_th,i_entry_x,i_entry_y,i_array_size,o_coord_x,o_coord_y) { - var xdir = this._getContour_xdir;// static int xdir[8] = { 0, 1, 1, 1, 0,-1,-1,-1}; - var ydir = this._getContour_ydir;// static int ydir[8] = {-1,-1, 0, 1, 1, 1, 0,-1}; - var i_buf=i_raster.getBuffer(); - var width=i_raster.getWidth(); - var height=i_raster.getHeight(); + let xdir = this._getContour_xdir;// static int xdir[8] = { 0, 1, 1, 1, 0,-1,-1,-1}; + let ydir = this._getContour_ydir;// static int ydir[8] = {-1,-1, 0, 1, 1, 1, 0,-1}; + let i_buf=i_raster.getBuffer(); + let width=i_raster.getWidth(); + let height=i_raster.getHeight(); //クリップ領域の上端に接しているポイントを得る。 - var coord_num = 1; + let coord_num = 1; o_coord_x[0] = i_entry_x; o_coord_y[0] = i_entry_y; - var dir = 5; - var c = i_entry_x; - var r = i_entry_y; + let dir = 5; + let c = i_entry_x; + let r = i_entry_y; for (;;) { dir = (dir + 5) % 8;//dirの正規化 //ここは頑張ればもっと最適化できると思うよ。 @@ -136,10 +136,10 @@ NyARContourPickup = ASKlass('NyARContourPickup', } }else{ //境界に接しているとき - var i; + let i; for (i = 0; i < 8; i++){ - var x=c + xdir[dir]; - var y=r + ydir[dir]; + let x=c + xdir[dir]; + let y=r + ydir[dir]; //境界チェック if(x>=0 && x=0 && y=i_st){ //頂点[i]から頂点[i+1]までの輪郭が、1区間にあるとき @@ -240,8 +240,8 @@ NyARCoord2Linear = ASKlass('NyARCoord2Linear', return false; } //主成分分析する。 - var evec=this.__getSquareLine_evec; - var mean=this.__getSquareLine_mean; + let evec=this.__getSquareLine_evec; + let mean=this.__getSquareLine_mean; this._pca.pca(this._xpos,this._ypos,n,evec, this.__getSquareLine_ev,mean); o_line.dy = evec.m01;// line[i][0] = evec->m[1]; o_line.dx = -evec.m00;// line[i][1] = -evec->m[0]; @@ -281,17 +281,17 @@ NyARVertexCounter = ASKlass('NyARVertexCounter', */ ,get_vertex : function(st,ed,i_coord_len) { - var i; - var d; + let i; + let d; //メモ:座標値は65536を超えなければint32で扱って大丈夫なので変更。 //dmaxは4乗なのでやるとしてもint64じゃないとマズイ - var v1 = 0; - var lx_coord = this.x_coord; - var ly_coord = this.y_coord; - var a = ly_coord[ed] - ly_coord[st]; - var b = lx_coord[st] - lx_coord[ed]; - var c = lx_coord[ed] * ly_coord[st] - ly_coord[ed] * lx_coord[st]; - var dmax = 0; + let v1 = 0; + let lx_coord = this.x_coord; + let ly_coord = this.y_coord; + let a = ly_coord[ed] - ly_coord[st]; + let b = lx_coord[st] - lx_coord[ed]; + let c = lx_coord[ed] * ly_coord[st] - ly_coord[ed] * lx_coord[st]; + let dmax = 0; if(st