Beispiel #1
0
  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
Beispiel #2
0
    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
Beispiel #3
0
 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
Beispiel #4
0
 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
Beispiel #5
0
 def test_float(self):
   self.assertEqual(6, bsearch(self.array, self.to_find_float))
Beispiel #6
0
 def test_int(self):
   self.assertEqual(2, bsearch(self.array, self.to_find_int))
Beispiel #7
0
 def test_float(self):
     self.assertEqual(6, bsearch(self.array, self.to_find_float))
Beispiel #8
0
 def test_int(self):
     self.assertEqual(2, bsearch(self.array, self.to_find_int))
Beispiel #9
0
    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.