davisking/dlib

Support for reading images in correct orientation using EXIF data.

Ouverte

#1 706 ouverte le 28 mars 2019

 (5 commentaires) (1 réaction) (0 personne assignée)C++ (3 442 forks)batch import
enhancementhelp wanted

Métriques du dépôt

Stars
 (14 434 étoiles)
Métriques de merge PR
 (Merge moyen 3h 56m) (2 PRs mergées 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