6 /* current processing image related */
17 /* id indicating the piece # */
41 public float[] getResult() {
45 public int getRowsRS() {
46 return this.m_rows_rs;
49 public int getRowsRE() {
50 return this.m_rows_re;
53 public int getColsR() {
57 public int getRows() {
61 public int getCols() {
65 public void calcSobel_dX() {
66 int rows_k1, cols_k1, rows_k2, cols_k2;
67 int[] kernel_1, kernel_2;
69 int kernelSize, startCol, endCol, halfKernel, startRow, endRow;
70 int k, i, j, kernelSum_1, kernelSum_2;
71 float[] result, image;
72 int rows = this.m_rows;
73 int cols = this.m_cols;
77 this.m_rows_rs = this.m_id * this.m_range;
78 this.m_rows_re = (this.m_id + 1) * this.m_range;
79 if(this.m_id == this.m_pnum - 1) {
80 this.m_rows_re = rows;
83 result=this.m_result=new float[(this.m_rows_re-this.m_rows_rs)*this.m_cols_r];
87 kernel_1 = new int[rows_k1 * cols_k1];
90 kernel_2 = new int[rows_k2 * cols_k2];
105 startCol = 1; //((kernelSize)/2);
106 endCol = cols - 1; //(int)(cols - (kernelSize/2));
107 halfKernel = 1; //(kernelSize-1)/2;
109 if((this.m_rows_re < 1) || (this.m_rows_rs > rows - 1)) {
112 startRow = (1>this.m_rows_rs)?1:(this.m_rows_rs); //(kernelSize)/2;
113 endRow = ((rows-1)<this.m_rows_re)?(rows-1):(this.m_rows_re); //(rows - (kernelSize)/2);
115 int ii = startRow - this.m_rows_rs;
116 for(i=startRow; i<endRow; i++) {
117 for(j=startCol; j<endCol; j++) {
119 for(k=-halfKernel; k<=halfKernel; k++) {
120 temp += (float)(image[i * cols + (j+k)]*kernel_2[k+halfKernel]);
122 result[ii * cols + j] = (float)(temp/kernelSum_2);
128 public void printResult() {
130 System.printI(11111111);
131 for(int i=0; i<this.m_rows_re-this.m_rows_rs; i++) {
132 for(int j=0; j<this.m_cols_r; j++) {
133 System.printI((int)(this.m_result[i * this.m_cols_r + j]*10));