import numpy as np
import cv2
f = open('omar.gcode', 'w')
f.write('M5\nG90\nG21\n')
f.write('G1 F1000\n')
f.write('G1  X0 Y0\n')


 

def movejog(x,y) :
	f.write('M5\n')
	f.write('G1 F1000\n')
	c='G1  X%f Y%f \n'%((x/5.0),(y/5.0))

	print c
	f.write(c) 
	f.write('G4 P1\n')
	

def draws(x,y) :
	f.write('M3 S90\n')
	f.write('G1 F500\n')
	c='G1  X%f Y%f \n'%((x/5.0),(y/5.0))
	print c
	f.write(c) 
	f.write('G4 P1\n')

def algorithm(x0,y0,x1,y1) :
	f.write('M5\n')
	f.write('G1 F1000\n')
	c='G1  X%f Y%f \n'%((x0/5.0),(y0/5.0))
	print c
	f.write(c) 
	f.write('G4 P1\n')
	f.write('M3 S90\n')
	f.write('G1 F500\n')
	c='G1  X%f Y%f\n'%((x1/5.0),(y1/5.0))
	print c
	f.write(c) 
	f.write('G4 P1\n')


img = cv2.imread('omar1.png',0)

m=0
w, h = 24, 24;
Matrix = [[0 for x in range(w)] for y in range(h)] 

#cv2.imshow('frame',img)
thresh = 127

    
th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,3)

    
    
    
x, y =  th2.shape
print x,y


i=0
j=0
k=0
m=0
flag = 0 
		

while i <24 :
	while j<24 :
		print "Matrix [",i,"] [ ",j," = " , th2[i,j]
		#print "i = ", i , " j = " , j 
		Matrix [i][j] = th2[i,j]
		if (th2[i,j] > 120): 
			if flag == 1 : 
				
				draws(i-1,j-1)
				print "MOVE"
				print "k = ", i , " m = " , j 
				flag =3
			else : 
				flag = 2 
		elif (th2[i,j] < 120) : 
			if flag == 2 : 
				movejog(i-1,j-1)
				print "DRAW"
				print "k = ", i , " m = " , j 
				flag=3
			else : 
				flag = 1 
		print flag
		if i==23 & j == 23 & flag == 2 : 
			movejog(i,j)
			print "omar k = ", i , " m = " , j 
		elif i==23 & j == 23 & flag == 1 : 
			draws(i,j)
			print "omar k = ", i , " m = " , j 
		j=j+1
					
	j=0
	


	i=i+1 
	c='M5\nG1  X%f Y%f\n'%((i/5.0),(j/5.0))
	f.write(c) 
		
f.close() 
cv2.imshow('frame6',th2)
cv2.waitKey(0)
cv2.destroyAllWindows()
