def signal_to_symbol(self, values): thresholds = { # Well, nine (we add one for "black"). '0': 235, '1': 207, '2': 179, '3': 151, '4': 123, '5': 95, '6': 67, '7': 39, '8': 11, } _inv_thresholds = dict((v,k) for k, v in thresholds.iteritems()) _keys = sorted(_inv_thresholds.keys()) ret = [] for sym_i in values: sym_values = values.get(sym_i) _values = [] for coord in sym_values: _values.append(sym_values.get(coord)) avg_value = average(_values) _bs = bsearch(_keys, avg_value) _key = _keys[_bs] base8 = _inv_thresholds[_key] ret.append(base8) return ret
def signal_to_symbol(self, values): thresholds = { # Well, nine (we add one for "black"). '0': 235, '1': 207, '2': 179, '3': 151, '4': 123, '5': 95, '6': 67, '7': 39, '8': 11, } _inv_thresholds = dict((v, k) for k, v in thresholds.iteritems()) _keys = sorted(_inv_thresholds.keys()) ret = [] for sym_i in values: sym_values = values.get(sym_i) _values = [] for coord in sym_values: _values.append(sym_values.get(coord)) avg_value = average(_values) _bs = bsearch(_keys, avg_value) _key = _keys[_bs] base8 = _inv_thresholds[_key] ret.append(base8) return ret
def signal_to_symbol(self, values): ret = [] for sym_i in values: sym_values = values.get(sym_i) avg_value = average([average(sym_values.get(coord)) for coord in sym_values]) keys = sorted(self._inv_thresholds.keys()) ret.append(int(self._inv_thresholds[keys[bsearch(keys, avg_value)]])) return ret
def signal_to_symbol(self, values): ret = [] for sym_i in values: sym_values = values.get(sym_i) avg_value = average( [average(sym_values.get(coord)) for coord in sym_values]) keys = sorted(self._inv_thresholds.keys()) ret.append( int(self._inv_thresholds[keys[bsearch(keys, avg_value)]])) return ret
def test_float(self): self.assertEqual(6, bsearch(self.array, self.to_find_float))
def test_int(self): self.assertEqual(2, bsearch(self.array, self.to_find_int))
print '%4d' % round(idct_mat[row, col]), print '' print recovered_mat = numpy.zeros((8,8)) idct_mat += 128 from util import bsearch _inv_keys = sorted(_inv_thresholds.keys()) ret = [] print 'Recovered Matrix' for row in range(8): for col in range(8): recovered_val = round(idct_mat[row, col]) ret.append(int(_inv_thresholds[ _inv_keys[bsearch(_inv_keys, recovered_val)]])) print '%4d' % recovered_val, recovered_mat[row, col] = recovered_val print '' print # Recover the real image that was written. recovered_image = Image.open('test.jpg') recovered_pixels = recovered_image.load() recovered_img_ret = [] print print 'Recovered Image Real' # for i in range(0, 16, 2): # for j in range(0, 16, 2): # avg = 0.