davisking/dlib

Support for reading images in correct orientation using EXIF data.

Open

#1 706 ouverte le 28 mars 2019

Voir sur GitHub
 (5 commentaires) (1 réaction) (0 assignés)C++ (3 314 forks)batch import
enhancementhelp wanted

Métriques du dépôt

Stars
 (12 570 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

Current Behavior

I'm working on image processing with some images I collected myself. Dlib's dlib.load_rgb_image('image_path') method swaps the rows and columns on some images while OpenCV's cv2.imread('image_path') method does not.

Check out the results below

img = dlib.load_rgb_image("myimg.jpg")
print(img.shape)

--------------------
OUTPUT: (1944, 2592, 3)
(the resultant image is rotated 90 degrees clockwise)

while OpenCV's method returns the correct shape:

img = cv2.imread("myimg.jpg")
print(img.shape)

--------------------
OUTPUT: (2592, 1944, 3)

dlib.load_rgb_image() does not take into account the EXIF orientation metadata, so some images are read incorrectly.

I don't want to go in and rotate some of these offending images myself manually because I'm creating an app.

Is there a way in Dlib to read images using orientation information?

Note: I asked this question of stackoverflow, one of the comments told me to create an issue here

  • Version: 19.17.0
  • Where did you get dlib: pip
  • Platform: Windows 10 - 64bit
  • Compiler: python 3.6

Guide contributeur