I\'ve got an image that I\'ve scanned, but the white paper is not white on the screen. Is there a way to equalize the contract/brightness to make the background whiter?
I have discussed some techniques here : How can I adjust contrast in OpenCV in C?
Please check it. Below are the results i got when i tried last two methods on your image
1) Thresholding:
Thresholding gives a binary image. If that is what you want you can apply threshold function
2) If grayscale image needed :
Additional :
Morphological closing
also work good in your case
img = cv2.imread('home.jpg',0)
kernel1 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
close = cv2.morphologyEx(gray,cv2.MORPH_CLOSE,kernel1)
div = np.float32(gray)/(close)
res = np.uint8(cv2.normalize(div,div,0,255,cv2.NORM_MINMAX))
(code in Python API)
Result Below: