""" Common utils. @author: chunk chunkplus@gmail.com 2014 Dec """ __author__ = 'hadoop' import os, sys import time import numpy as np class Timer(): def __init__(self): self.__newtime = time.time() self.__oldtime = self.__newtime def mark(self): self.__oldtime = self.__newtime self.__newtime = time.time() return self.__newtime - self.__oldtime def report(self): print "%-24s%fs" % ("time elapsed:", self.mark()) def ttimer(): newtime = time.time() while True: oldtime = newtime newtime = time.time() yield newtime - oldtime def ctimer(): newtime = time.clock() while True: oldtime = newtime newtime = time.clock() yield newtime - oldtime def ski2cv(img): if img.ndim >= 3 and img.shape[2] >= 3: img[:, :, [0, 2]] = img[:, :, [2, 0]] return img def bytes2bits(arry_bytes): """ :param arry_bytes: 1-D np.unit8 array :return: 1-D 0/1 array """ hid_data_bits = [map(int, '{0:08b}'.format(byte)) for byte in arry_bytes] return np.array(hid_data_bits).ravel() def bits2bytes(arry_bits): """ :param arry_bits: 1-D 0/1 array :return: 1-D np.unit8 array """ str_bits = ''.join(map(str, arry_bits)) arry_bytes = [int(str_bits[i:i + 8], 2) for i in range(0, len(str_bits), 8)] return np.array(arry_bytes).ravel() if __name__ == '__main__': timer = Timer() timer.mark() timer.report() timer.mark() time.sleep(1) # for i in range(1000000): # print i timer.report()