A method for distinguishing artificial edges from texture edges comprising: - receiving an image comprising a plurality of pixels arranged in rows and columns; - determining an edge map by generating, for each of the plurality of pixels, an edge value, wherein the edge value E i,j of a current pixel at the i th row and j th column is determined according to: E i, j = { 0, if I i − 1, j + 1 or I i + 1, j + 1 does not existed | I i − 1, j − I i − 1, j + 1 + 2 × I i, j − I i, j + 1 + I i + 1, j − I i + 1, j + 1 | / 4, else wherein I i,j is the luminance value of a pixel at the i th row and j th column; - determining a continuous edge map by generating, for each of the plurality of pixels, a continuous edge C i,j representing an indication of a continuous edge for the pixel at the i th row and j th column according to C i, j = { E i, j, all edge values from E i − m, j to E i + n, j ≥ T 1 and m + n ≥ T 2 0, else, where T1 is a first threshold and T2 is a second threshold; - determining a significant edge map from the continuous edge map by determining, for each of the plurality of pixels, a significance value V i,j for the pixel at the i th row and j th column, said determining comprising: - calculating an average C of continuous edge values within m rows above and n rows below the pixel, - calculating for every column d of a local area surrounding the pixel, an average E d of said edge values exceeding a third threshold T3, - calculating V ij according to V i + k, j = { 0, k = m,..., n; E d ̅ ≥ C ̅ − T 3 or E d ̅ ≥ α × C ̅; C i + k, j, else where a is a parameter to define the significance; - generating an artificial edge map by determining, for each pixel at the i th row and j th column, whether the consecutive values V i-m,j to V i+n,j are not zero and m+n exceeds a fourth threshold, and in this case, checking if there exists a number of non-zero consecutive values from V i-m,j-16 to V i+n,j-16 or from V i-m,j+16 to V i+n,j+16 exceeding 0.5 × ( m + n), and if this is not the case, setting the values from V i-m,j to V i+n,j to zero. - receiving an image comprising a plurality of pixels arranged in rows and columns; - determining an edge map by generating, for each of the plurality of pixels, an edge value, wherein the edge value E i,j of a current pixel at the i th row and j th column is determined according to: E i, j = { 0, if I i − 1, j + 1 or I i + 1, j + 1 does not existed | I i − 1, j − I i − 1, j + 1 + 2 × I i, j − I i, j + 1 + I i + 1, j − I i + 1, j + 1 | / 4, else wherein I i,j is the luminance value of a pixel at the i th row and j th column; - determining a continuous edge map by generating, for each of the plurality of pixels, a continuous edge C i,j representing an indication of a continuous edge for the pixel at the i th row and j th column according to C i, j = { E i, j, all edge values from E i − m, j to E i + n, j ≥ T 1 and m + n ≥ T 2 0, else, where T1 is a first threshold and T2 is a second threshold; - determining a significant edge map from the continuous edge map by determining, for each of the plurality of pixels, a significance value V i,j for the pixel at the i th row and j th column, said determining comprising: - calculating an average C of continuous edge values within m rows above and n rows below the pixel, - calculating for every column d of a local area surrounding the pixel, an average E d of said edge values exceeding a third threshold T3, - calculating V ij according to V i + k, j = { 0, k = m,..., n; E d ̅ ≥ C ̅ − T 3 or E d ̅ ≥ α × C ̅; C i + k, j, else where a is a parameter to define the significance; - calculating an average C of continuous edge values within m rows above and n rows below the pixel, - calculating for every column d of a local area surrounding the pixel, an average E d of said edge values exceeding a third threshold T3, - calculating V ij according to V i + k, j = { 0, k = m,..., n; E d ̅ ≥ C ̅ − T 3 or E d ̅ ≥ α × C ̅; C i + k, j, else where a is a parameter to define the significance; - generating an artificial edge map by determining, for each pixel at the i th row and j th column, whether the consecutive values V i-m,j to V i+n,j are not zero and m+n exceeds a fourth threshold, and in this case, checking if there exists a number of non-zero consecutive values from V i-m,j-16 to V i+n,j-16 or from V i-m,j+16 to V i+n,j+16 exceeding 0.5 × ( m + n), and if this is not the case, setting the values from V i-m,j to V i+n,j to zero.