[Python] Opencv - Grayscale mode Vs gray color conversion

Discussão em 'Python' iniciado por Stack, Julho 9, 2025.

  1. Stack

    Stack Membro Participativo

    I am working in opencv(2.4.11) python(2.7) and was playing around with gray images. I found an unusual behavior when loading image in gray scale mode and converting image from BGR to GRAY. Following is my experimental code:

    import cv2

    path = 'some/path/to/color/image.jpg'

    # Load color image (BGR) and convert to gray
    img = cv2.imread(path)
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    # Load in grayscale mode
    img_gray_mode = cv2.imread(path, 0)

    # diff = img_gray_mode - img_gray
    diff = cv2.bitwise_xor(img_gray,img_gray_mode)

    cv2.imshow('diff', diff)
    cv2.waitKey()


    When I viewed the difference image, I can see the left out pixels instead of jet black image. Can you suggest any reason? What is the correct way of working with gray images.

    P.S. When I use both the images in SIFT, keypoints are different which may lead to different outcome specially when working with bad quality images.

    Continue reading...

Compartilhe esta Página