def test_posterize(self): img = np.array([[0, 128, 255], [1, 127, 254], [2, 129, 253]], dtype=np.uint8) img_r = np.array([[0, 128, 128], [0, 0, 128], [0, 128, 128]], dtype=np.uint8) assert_array_equal(mmcv.posterize(img, 1), img_r) img_r = np.array([[0, 128, 224], [0, 96, 224], [0, 128, 224]], dtype=np.uint8) assert_array_equal(mmcv.posterize(img, 3), img_r)
def __call__(self, results): if np.random.rand() > self.prob: return results for key in results.get('img_fields', ['img']): img = results[key] img_posterized = mmcv.posterize(img, bits=self.bits) results[key] = img_posterized.astype(img.dtype) return results