def test_simpleORCT(self): bayer = np.array([[145, 77, 142, 73], [76, 67, 72, 62], [127, 67, 125, 65], [65, 54, 65, 57], [145, 75, 142, 73], [46, 61, 72, 62], [117, 47, 105, 65], [87, 31, 53, 17]]) bayer = bayer.astype("float32") data = compute_orct2plus3(bayer) data2 = compute_orct2plus3inverse(data) pass
def inverseFunction(data): data = data.astype('float32') data = data * 2 - 256 data[data == -256] = 0 data = compute_orct2plus3inverse(data, precisionFloatingPoint=self.precisionFloatingPoint) data = compute_orct1inverseV2(data, precisionFloatingPoint=self.precisionFloatingPoint) return np.round(data)
def test_orct123Reversible(self): bayer = cv2.imread("../Data/image.bmp") bayer = np.sum(bayer, axis=2).astype('float64') orct1Filtered = compute_orct1V2(bayer, precisionFloatingPoint=self.precisionFloatingPoint) orct23Filtered = compute_orct2plus3(orct1Filtered, precisionFloatingPoint=self.precisionFloatingPoint) orct23FilteredNormalized = copy.deepcopy(orct23Filtered) orct23FilteredNormalized[orct23FilteredNormalized == 0] = -256 orct23FilteredNormalized = (orct23FilteredNormalized + 256) / 2 orct23FilteredNormalized = np.ceil(orct23FilteredNormalized) orct23FilteredNormalized = orct23FilteredNormalized * 2 - 256 orct23FilteredNormalized[orct23FilteredNormalized == -256] = 0 orct23Filtered = orct23FilteredNormalized orct23FilteredInversed = compute_orct2plus3inverse(orct23Filtered, precisionFloatingPoint=self.precisionFloatingPoint) orct1FilteredInversed = compute_orct1inverseV2(orct23FilteredInversed, precisionFloatingPoint=self.precisionFloatingPoint) print("PSNR: {}".format(self.evaluation.calculate_psnr(np.round(orct23FilteredInversed), np.round(orct1Filtered)))) print("PSNR: {}".format(self.evaluation.calculate_psnr(bayer, np.round(orct1FilteredInversed))))
def inverseFunction(data): data = data.astype('float32') * 2 - 255 data = compute_orct2plus3inverse(data, x) data = compute_orct1inverse(data, x) return data
def test_orct23PlusReversible(self): bayer = cv2.imread("../Data/image.bmp") bayer = np.sum(bayer, axis=2).astype('float64') orct23Filtered = compute_orct2plus3(bayer, precisionFloatingPoint=self.precisionFloatingPoint) orct23FilteredInversed = compute_orct2plus3inverse(orct23Filtered, precisionFloatingPoint=self.precisionFloatingPoint) print("PSNR: {}".format(self.evaluation.calculate_psnr(bayer, np.round(orct23FilteredInversed))))