In [30]:
# experiment with Dark Bright image correction
import cv2
import numpy as np
image = cv2.imread(r"C:\smart_data\Session_CAM\Grid_5_6_9_Unstained\20151023134846236_5_0_-2_3_camJ.tif", cv2.IMREAD_UNCHANGED)
image = 16 * image
w,h = image.shape
iDark = cv2.imread(r"C:\Users\jayb\Pictures\TEMCA\DarkfieldSquareX16.tif", cv2.IMREAD_UNCHANGED)
iBright = cv2.imread(r"C:\Users\jayb\Pictures\TEMCA\BrightfieldSquareX16.tif", cv2.IMREAD_UNCHANGED)
iBrightMinusDark = iBright - iDark
iBrightMinusDarkF32 = np.array(iBrightMinusDark, np.float32)
iImageMinusDark = image - iDark
iImageMinusDarkF32 = np.array (iImageMinusDark, np.float32)
print iImageMinusDarkF32.shape, iImageMinusDarkF32.dtype
iCorrectedF32 = 65764 * (iImageMinusDarkF32 / iBrightMinusDarkF32)
iCorrected = np.array(iCorrected, np.uint16)
clicked = False
def onMouse( event, x, y, flags, param):
global clicked
if event == cv2.EVENT_LBUTTONUP:
clicked = True
cv2.namedWindow('MyWindow')
cv2.setMouseCallback('MyWindow', onMouse)
print 'Press any key to stop.'
while cv2. waitKey( 1) == -1 and not clicked:
cv2. imshow('MyWindow', iCorrected)
cv2. destroyWindow('MyWindow')
In [ ]: