lucyparsons / lucyparsons/OpenOversight
Bug: photos are upright in tagging workflow but rotated 90° when cropped
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 256
- Forks
- 81
- PR merge metrics
- No merged PRs in 30d
Description
I’ve seen this happen with a set of photos that came from a particular camera/phone, and I have a hunch for the cause. First — a user story:
- Given I am logged in
- And I have permissions to tag faces in photos
- When I am tagging a face in a certain photo
- And the photo appears at the correct orientation in the tagging interface
- Then I see the cropped officer tag is rotated 90º from how it had appeared in the tagging interface
- And the size and shape of the crop are true to how I had input them
Expected result: the cropped image is “upright” in the same orientation as the tagging interface
Actual result: certain cropped images are rotated 90º (most frequently counter clockwise)
Example image: https://www.openoversight.com/officer/12035
My suspicion is the tagging interface is correctly using an EXIF property like orientation, e.g:
- https://jdhao.github.io/2019/07/31/image_rotation_exif_info/
- https://sirv.com/help/articles/rotate-photos-to-be-upright/
…and then the processing routine is either ignoring that value or incorrectly applying the orientation.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the tagging interface and the processing routine that creates face crops, then inspect how the source photo's EXIF orientation is handled. Use the linked example image and a photo showing the issue to verify that the cropped result preserves the upright orientation and crop shape from the interface.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100