Non uniform pixel variation (raw gray scale)

Hi, I am getting raw data through my thermal qvga IR sensor. which I am displaying through ‘imshow’ but its giving me one side is a bit darker than another side. How to make this uniform, any suggestions please?
please refer the below code section. Thanks.

ret, frame = video.read()
#frame data processing
        frame = frame.reshape(rows, cols*2)
        frame = frame.astype(np.uint16)               
        frame = (frame[:, 0::2] << 8) + frame[:, 1::2]        
        frame = frame.view(np.uint16)
#ROI config
        frame_roi = frame[:, :]    
        frame_roi = cv2.medianBlur(frame_roi, 3)
# Display the resulting frame        
        cv2.imshow('rawGray', frame_roi)

show us a picture please. input, not filtered.

@crackwitz thanks. the left side is more darker than right one. I am not sure the cause. please suggest~
image

that’s just a screenshot. that’s not data. you normalized these values to max/min, didn’t you? I need to see unfiltered data.

you’ve got a bayer pattern on your sensor, or something.

what are you pointing this camera at?

context:

@crackwitz the camera is pointing at ‘heating element (small heater)’. This is not normalized data but its after reshape to get it as uint16. The screenshot in previous post is ‘after applied medianblur’. Now, I attach only the raw gray without applying any filter. please suggest~

frame__0

frame__0

Please check. Thanks.

ret, frame = cap.read()
        if not ret:
            break
#uint16
frame = frame.reshape(rows, cols*2)
        frame = frame.astype(np.uint16)               
        frame = (frame[:, 0::2] << 8) + frame[:, 1::2]        
        frame = frame.view(np.uint16)
# frame ROI
        frame_roi = frame[:, :]        #340x240        
        frame_roi = frame_roi << 3
# frame display and save
        cv2.imshow('roi',frame_roi)  #display frame
        cv2.imwrite('frame__'+str(i)+'.jpg', frame)