Creo que se puede ajustar el contraste aquí de dos maneras:
1) Histogram Equalization :
Pero cuando he intentado esto con su imagen, resultado no fue como se esperaba. Verificar a continuación:
2) Umbral:
Aquí, comparé cada valor de píxel de entrada con un valor arbitrario (que i tomó 127
). A continuación se muestra la lógica que tiene la función incorporada en opencv. But remember, output is Binary image, not grayscale as you did.
If (input pixel value >= 127):
ouput pixel value = 255
else:
output pixel value = 0
Y a continuación es el resultado que obtuve:
Para ello, puede utilizar Threshold function o compare function
3) Si usted es obligatorio obtener una imagen en escala de grises como salida, haga lo siguiente:
(es el código de OpenCV-Python, pero para cada función, correspondientes funciones de C están disponibles en opencv.itseez.com)
for each pixel in image:
if pixel value >= 127: add 'x' to pixel value.
else : subtract 'x' from pixel value.
('x' es un valor arbitrario). Así la diferencia entre los píxeles claros y oscuros aumenta.
img = cv2.imread('brain.jpg',0)
bigmask = cv2.compare(img,np.uint8([127]),cv2.CMP_GE)
smallmask = cv2.bitwise_not(bigmask)
x = np.uint8([90])
big = cv2.add(img,x,mask = bigmask)
small = cv2.subtract(img,x,mask = smallmask)
res = cv2.add(big,small)
Y a continuación es el resultado obtenido:
Es posible ajustarlos en opencv. Pero sería más útil si pudieras agregar una imagen y luego explicar lo que quieres. –
@Abid Rahman K Imágenes añadidas .. – edsonlp1
¿Es la segunda imagen que desea como resultado? Si es así, ¿cómo lo hiciste? lo mismo se puede hacer en Opencv –