1 | initial version |
After looking at the code it appears that the function MergeDebevec :: process called without the third argument response uses a linear response function. I was able to reproduce this by creating a linear answer as the third argument, the result is the same. I think the documentation should make it clear. What is strange is that in my case the result is better than calibrating the response of the camera!
2 | No.2 Revision |
After looking at the code it appears that the function MergeDebevec :: process called without the third argument response uses a linear response function. I was able to reproduce this by creating a linear answer as the third argument, the result is the same. I think the documentation should make it clear. What is strange is that in my case the result is better than calibrating the response of the camera!
c=np.arange(256).astype(np.float32)
linear=np.zeros((256,1,3)).astype(np.float32)
linear[:,0,0] = c
linear[:,0,1] = c
linear[:,0,2] = c
linear[0,:,:] = linear[1,:,:]
calibrate = cv.createCalibrateDebevec()
response = calibrate.process(images, times)
merge_debevec = cv.createMergeDebevec()
hdr_1 = merge_debevec.process(images, times, linear)
Gives the same result as:
hdr_2 = merge_debevec.process(images, times)
3 | No.3 Revision |
After looking at the code it appears that the function MergeDebevec :: process called without the third argument response uses a linear response function. I was able to reproduce this by creating a linear answer as the third argument, the result is the same. I think the documentation should make it clear. What is strange is that in my case the result is better than calibrating the response of the camera!
c=np.arange(256).astype(np.float32)
linear=np.zeros((256,1,3)).astype(np.float32)
linear[:,0,0] = c
linear[:,0,1] = c
linear[:,0,2] = c
linear[0,:,:] = linear[1,:,:]
calibrate = cv.createCalibrateDebevec()
response = calibrate.process(images, times)
merge_debevec = cv.createMergeDebevec()
hdr_1 = merge_debevec.process(images, times, linear)
Gives the same result as:
hdr_2 = merge_debevec.process(images, times)
4 | No.4 Revision |
After looking at the code it appears that the function MergeDebevec :: process called without the third argument response uses a linear response function. I was able to reproduce this by creating a linear answer as the third argument, the result is the same. I think the documentation should make it clear. What is strange is that in my case the result is better than calibrating the response of the camera!
c=np.arange(256).astype(np.float32)
linear=np.zeros((256,1,3)).astype(np.float32)
linear[:,0,0] = c
linear[:,0,1] = c
linear[:,0,2] = c
linear[0,:,:] = linear[1,:,:]
calibrate = cv.createCalibrateDebevec()
response = calibrate.process(images, times)
merge_debevec = cv.createMergeDebevec()
hdr_1 = merge_debevec.process(images, times, linear)
Gives the same result as:
hdr_2 = merge_debevec.process(images, times)
5 | No.5 Revision |
After looking at the code it appears that the function MergeDebevec :: process called without the third argument response uses a linear response function. I was able to reproduce this by creating a linear answer as the third argument, the result is the same. I think the documentation should make it clear. What is strange is that in my case the result is better than calibrating the response of the camera!
c=np.arange(256).astype(np.float32)
linear=np.zeros((256,1,3)).astype(np.float32)
linear[:,0,0] = c
linear[:,0,1] = c
linear[:,0,2] = c
linear[0,:,:] = linear[1,:,:]
merge_debevec = cv.createMergeDebevec()
hdr_1 = merge_debevec.process(images, times, linear)
Gives the same result as:
hdr_2 = merge_debevec.process(images, times)