A method for image processing, comprising: obtaining an image comprising a writing board and a background external to the writing board; detecting a plurality of lines within the image; determining, based on the plurality of lines, a plurality of corners of the writing board within the image; and correcting a perspective of the writing board by applying a transformation to the image based on the plurality of corners, the method characterised in that the step of detecting a plurality of lines comprises: selecting a line of the plurality of lines; generating a plurality of strips crossing the line from a first side of the line to a second side of the line, calculating a first statistical intensity value for a first plurality of pixels located within a strip on the first side of the line; calculating a second statistical intensity value for a second plurality of pixels located within the strip on the second side of the line; generating a comparison of the first statistical intensity value and the second statistical intensity value; determining, based on the comparison, that the strip is a uniform intensity strip; determining the line located on the writing board by comparing a cardinality of the plurality of strips that are uniform intensity strips with a threshold; and removing, before determining the plurality of corners, the line from the plurality of lines in response to determining the line is located on the writing board. obtaining an image comprising a writing board and a background external to the writing board; detecting a plurality of lines within the image; determining, based on the plurality of lines, a plurality of corners of the writing board within the image; and correcting a perspective of the writing board by applying a transformation to the image based on the plurality of corners, the method characterised in that the step of detecting a plurality of lines comprises: selecting a line of the plurality of lines; generating a plurality of strips crossing the line from a first side of the line to a second side of the line, calculating a first statistical intensity value for a first plurality of pixels located within a strip on the first side of the line; calculating a second statistical intensity value for a second plurality of pixels located within the strip on the second side of the line; generating a comparison of the first statistical intensity value and the second statistical intensity value; determining, based on the comparison, that the strip is a uniform intensity strip; determining the line located on the writing board by comparing a cardinality of the plurality of strips that are uniform intensity strips with a threshold; and removing, before determining the plurality of corners, the line from the plurality of lines in response to determining the line is located on the writing board. selecting a line of the plurality of lines; generating a plurality of strips crossing the line from a first side of the line to a second side of the line, calculating a first statistical intensity value for a first plurality of pixels located within a strip on the first side of the line; calculating a second statistical intensity value for a second plurality of pixels located within the strip on the second side of the line; generating a comparison of the first statistical intensity value and the second statistical intensity value; determining, based on the comparison, that the strip is a uniform intensity strip; determining the line located on the writing board by comparing a cardinality of the plurality of strips that are uniform intensity strips with a threshold; and removing, before determining the plurality of corners, the line from the plurality of lines in response to determining the line is located on the writing board.