示例#1
0
def retrain(im1, im2):
    fp1 = open('im1.png', 'wb')
    fp1.write(base64.b64decode(im1))
    fp1.close()
    fp2 = open('im2.png', 'wb')
    fp2.write(base64.b64decode(im2))
    fp2.close()
    img1 = Image.open('im1.png')
    img1.load()
    data1 = np.asarray(img1, dtype="int32")

    img2 = Image.open('im2.png')
    img2.load()
    data2 = np.asarray(img2, dtype="int32")
    data1 = np.array(data1)
    data2 = np.array(data1)

    RESULT = np.copy(data2)
    ORIGINAL = np.copy(data1)
    [numRow, numCol] = RESULT.shape
    for x in range(numRow):
        dfs_iterative(RESULT, x, 0)
        dfs_iterative(RESULT, x, numCol - 1)

    for y in range(numCol):
        dfs_iterative(RESULT, 0, y)
        dfs_iterative(RESULT, numRow - 1, y)

    train = []
    target = []

    tile_size = 16
    # send this to configuration the 16
    for x in range(0, numRow - tile_size + 1, tile_size):
        for y in range(0, numCol - tile_size + 1, tile_size):
            temp = RESULT[x:x + tile_size, y:y + tile_size]
            if -1 not in temp:
                train.append(
                    (normalize(ORIGINAL[x:x + tile_size, y:y +
                                        tile_size])).transpose().flatten())
                if 0 in temp and 1 in temp:
                    target.append(1)
                else:
                    target.append(0)
    print(np.array(train).shape)
    print(np.array(target).shape)
    np.savetxt("fooI.csv", np.array(train), delimiter=",")
    np.savetxt("fooO.csv", np.array(target), delimiter=",")
示例#2
0
def retrain(im1, im2):
	fp1 = open('im1.png', 'wb')
	fp1.write(base64.b64decode(im1))
	fp1.close()
	fp2 = open('im2.png', 'wb')
	fp2.write(base64.b64decode(im2))
	fp2.close()
	img1 = Image.open('im1.png')
	img1.load()
	data1 = np.asarray( img1, dtype="int32")

	img2 = Image.open('im2.png')
	img2.load()
	data2 = np.asarray( img2, dtype="int32")
	data1 = np.array(data1)
	data2 = np.array(data1)


	RESULT = np.copy(data2)
	ORIGINAL = np.copy(data1)
	[numRow, numCol] = RESULT.shape
	for x in range(numRow):
		dfs_iterative(RESULT, x, 0)
		dfs_iterative(RESULT, x, numCol - 1)

	for y in range(numCol):
		dfs_iterative(RESULT, 0, y)
		dfs_iterative(RESULT, numRow - 1, y)

	train = []
	target = []

	tile_size = 16
	# send this to configuration the 16
	for x in range(0, numRow - tile_size + 1, tile_size):
		for y in range(0, numCol - tile_size + 1, tile_size):
			temp = RESULT[x:x + tile_size, y:y + tile_size]
			if -1 not in temp:
				train.append((normalize(ORIGINAL[x:x + tile_size, y:y + tile_size])).transpose().flatten())
				if 0 in temp and 1 in temp:
					target.append(1)
				else:
					target.append(0)
	print(np.array(train).shape)
	print(np.array(target).shape)
	np.savetxt("fooI.csv", np.array(train), delimiter=",")
	np.savetxt("fooO.csv", np.array(target), delimiter=",")
示例#3
0
 def test_normalize(self):
     test = [[4, 59, 102, 85, 49, 65, 48, 85],
             [52, 58, 69, 70, 50, 97, 85, 63],
             [35, 46, 57, 84, 67, 42, 77, 67],
             [23, 62, 46, 79, 63, 84, 72, 88],
             [5, 16, 46, 56, 72, 57, 93, 80],
             [0, 15, 8, 22, 60, 54, 50, 52], [0, 0, 0, 16, 27, 15, 37, 33],
             [0, 0, 14, 2, 12, 1, 8, 19]]
     answer = [[
         -0.04613047, 0.01521417, 0.06317451, 0.04421345, 0.0040606,
         0.02190631, 0.00294524, 0.04421345
     ],
               [
                   0.00740667, 0.01409881, 0.02636774, 0.02748309,
                   0.00517595, 0.05759773, 0.04421345, 0.01967559
               ],
               [
                   -0.0115544, 0.00071453, 0.01298345, 0.04309809,
                   0.02413702, -0.0037469, 0.03529059, 0.02413702
               ],
               [
                   -0.02493868, 0.01856024, 0.00071453, 0.0375213,
                   0.01967559, 0.04309809, 0.02971381, 0.04755952
               ],
               [
                   -0.04501511, -0.03274618, 0.00071453, 0.01186809,
                   0.02971381, 0.01298345, 0.0531363, 0.03863666
               ],
               [
                   -0.05059189, -0.03386154, -0.04166904, -0.02605404,
                   0.01632952, 0.00963738, 0.00517595, 0.00740667
               ],
               [
                   -0.05059189, -0.05059189, -0.05059189, -0.03274618,
                   -0.02047726, -0.03386154, -0.00932369, -0.01378511
               ],
               [
                   -0.05059189, -0.05059189, -0.0349769, -0.04836118,
                   -0.03720761, -0.04947654, -0.04166904, -0.02940011
               ]]
     np.testing.assert_array_almost_equal(normalize(np.array(test)),
                                          np.array(answer))
示例#4
0
	def test_normalize(self):
		test = [[4, 59, 102, 85, 49, 65, 48, 85], [52, 58, 69, 70, 50, 97, 85, 63], [35, 46, 57, 84, 67, 42, 77, 67], [23, 62, 46, 79, 63, 84, 72, 88], [5, 16, 46, 56, 72, 57, 93, 80], [0, 15, 8, 22, 60, 54, 50, 52], [0, 0, 0, 16, 27, 15, 37, 33], [0, 0, 14, 2, 12, 1, 8, 19]]
		answer = [[-0.04613047, 0.01521417, 0.06317451, 0.04421345, 0.0040606, 0.02190631, 0.00294524, 0.04421345], [0.00740667, 0.01409881, 0.02636774, 0.02748309, 0.00517595, 0.05759773, 0.04421345, 0.01967559], [-0.0115544, 0.00071453, 0.01298345, 0.04309809, 0.02413702, -0.0037469, 0.03529059, 0.02413702], [-0.02493868, 0.01856024, 0.00071453, 0.0375213, 0.01967559, 0.04309809, 0.02971381, 0.04755952], [-0.04501511, -0.03274618, 0.00071453, 0.01186809, 0.02971381, 0.01298345, 0.0531363, 0.03863666], [-0.05059189, -0.03386154, -0.04166904, -0.02605404, 0.01632952, 0.00963738, 0.00517595, 0.00740667], [-0.05059189, -0.05059189, -0.05059189, -0.03274618, -0.02047726, -0.03386154, -0.00932369, -0.01378511], [-0.05059189, -0.05059189, -0.0349769, -0.04836118, -0.03720761, -0.04947654, -0.04166904, -0.02940011]]
		np.testing.assert_array_almost_equal(normalize(np.array(test)), np.array(answer))