Answers.Body: <p>There are many papers on this but the following is a good start:</p>
  <ul>
  <li><a href="https://hackernoon.com/how-to-unwrap-wine-labels-programmatically-31c8c62b30ce" rel="nofollow noreferrer">How to unwrap wine labels programmatically</a>.  The author includes <a href="https://github.com/Nepherhotep/unwrap_labels" rel="nofollow noreferrer">source code</a> in Python.</li>
  </ul>
  <p><a href="https://i.sstatic.net/B46JW.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/B46JW.png" alt="enter image description here" /></a></p>
  <p>You mentioned you do not want to do a panoramic view but that has more than one meaning.  If I assume you mean you do not want to rotate the can while taking multiple photos, or you don't want to take multiple photos from different angles, you could try a <a href="https://www.opto-e.com/basics/360-optics" rel="nofollow noreferrer">pericentric lens</a>.  This would require some image processing to do the unwrapping.  More resolution is needed as the wrapping is much more severe.  The advantage though is that you will have a single image of the full cylindrical surface and won't miss any features or text.</p>
  <p><a href="https://i.sstatic.net/N9ZA2.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/N9ZA2.jpg" alt="enter image description here" /></a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-07T18:25:41.963Z
Answers.LastActivityDate: 2021-01-07T21:19:39.077Z
Answers.LastEditDate: 2021-01-07T21:19:39.077Z
Answers.UserDisplayName: Brian O'Donnell
Body: <p>Consider an image that contains one can (or bottle, or any similar oval object), which has texts all over it. In the image below, I have many bottles, but you can assume that each image only contains one such object.</p>
  <p><a href="https://i.sstatic.net/ETf0Y.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/ETf0Y.jpg" alt="enter image description here" /></a></p>
  <p>As we can see, in each can, the text can flow from left to right, and any OCR system may miss the text on the left and right sides of the can, as they are not aligned with the camera angle.</p>
  <p>So, is there any solution/s for this, like preprocessing in a certain way, so that we can read the text or make this round object into a straight one? (If there is any Python program that can solve this problem, could you please share it with me?)</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-01-09T00:05:25.080Z
Comments.Text: Comments are not for extended discussion; this conversation has been [moved to chat](https://chat.stackexchange.com/rooms/118228/discussion-on-question-by-red-in-ocr-how-should-i-deal-with-the-warped-text-on).
Comments.UserDisplayName: nbro
Tags: <python><image-processing><data-preprocessing><optical-character-recognition>
Title: In OCR, how should I deal with the warped text on the sides of oval objects?
UserDisplayName: Red
ThreadText: # In OCR, how should I deal with the warped text on the sides of oval objects?
  
  (Asked by: username_0 on 2021-01-06)
  
  Consider an image that contains one can (or bottle, or any similar oval object), which has texts all over it. In the image below, I have many bottles, but you can assume that each image only contains one such object.
  
  [![enter image description here](https://i.sstatic.net/ETf0Y.jpg)](https://i.sstatic.net/ETf0Y.jpg)
  
  As we can see, in each can, the text can flow from left to right, and any OCR system may miss the text on the left and right sides of the can, as they are not aligned with the camera angle.
  
  So, is there any solution/s for this, like preprocessing in a certain way, so that we can read the text or make this round object into a straight one? (If there is any Python program that can solve this problem, could you please share it with me?)
  
  **Tags:** python, image-processing, data-preprocessing, optical-character-recognition
  > **Comments:**
  > **username_1**: Comments are not for extended discussion; this conversation has been [moved to chat](https://chat.stackexchange.com/rooms/118228/discussion-on-question-by-red-in-ocr-how-should-i-deal-with-the-warped-text-on).  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2021-01-07. Score: 3 | Accepted answer
  
  There are many papers on this but the following is a good start:
  
  * [How to unwrap wine labels programmatically](https://hackernoon.com/how-to-unwrap-wine-labels-programmatically-31c8c62b30ce). The author includes [source code](https://github.com/Nepherhotep/unwrap_labels) in Python.
  
  [![enter image description here](https://i.sstatic.net/B46JW.png)](https://i.sstatic.net/B46JW.png)
  
  You mentioned you do not want to do a panoramic view but that has more than one meaning. If I assume you mean you do not want to rotate the can while taking multiple photos, or you don't want to take multiple photos from different angles, you could try a [pericentric lens](https://www.opto-e.com/basics/360-optics). This would require some image processing to do the unwrapping. More resolution is needed as the wrapping is much more severe. The advantage though is that you will have a single image of the full cylindrical surface and won't miss any features or text.
  
  [![enter image description here](https://i.sstatic.net/N9ZA2.jpg)](https://i.sstatic.net/N9ZA2.jpg)
  
  
  ---
  
  