Example #1
0
 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
Example #2
0
 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)
Example #3
0
    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))))
Example #4
0
 def inverseFunction(data):
     data = data.astype('float32') * 2 - 255
     data = compute_orct2plus3inverse(data, x)
     data = compute_orct1inverse(data, x)
     return data
Example #5
0
 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))))