Exemple #1
0
 def test_detect_orientation_tesseract3_bad_output(self, popen, temp_dir,
                                                   get_version):
     get_version.return_value = (3, 5, 0)
     message = ("Page number: 0\n"
                "Orientation in degrees: ABC\n"
                "Rotate: 270\n"
                "Orientation confidence: AB.CD\n"
                "Script: Latin\n"
                "Script confidence: 8.06\n")
     self.stdout.stdout.read.return_value = message.encode()
     popen.return_value = self.stdout
     with TemporaryDirectory(prefix="tess_") as tmpdir:
         enter = MagicMock()
         enter.__enter__.return_value = tmpdir
         temp_dir.return_value = enter
         with self.assertRaises(tesseract.TesseractError) as te:
             tesseract.detect_orientation(self.image)
         popen.assert_called_once_with(
             ["tesseract", "input.bmp", "stdout", "-psm", "0"],
             stdin=subprocess.PIPE,
             shell=False,
             startupinfo=None,
             creationflags=0,
             cwd=tmpdir,
             stdout=subprocess.PIPE,
             stderr=subprocess.STDOUT)
         self.assertEqual(te.exception.status, -1)
         self.assertIn("No script found in image", te.exception.message)
Exemple #2
0
 def test_detect_orientation_tesseract3_with_lang(self, popen, temp_dir,
                                                  get_version):
     get_version.return_value = (3, 5, 0)
     message = ("Page number: 0\n"
                "Orientation in degrees: 90\n"
                "Rotate: 270\n"
                "Orientation confidence: 9.30\n"
                "Script: Latin\n"
                "Script confidence: 8.06\n")
     self.stdout.stdout.read.return_value = message.encode()
     popen.return_value = self.stdout
     with TemporaryDirectory(prefix="tess_") as tmpdir:
         enter = MagicMock()
         enter.__enter__.return_value = tmpdir
         temp_dir.return_value = enter
         result = tesseract.detect_orientation(self.image, lang="fra")
         self.assertEqual(result["angle"], 90)
         self.assertEqual(result["confidence"], 9.30)
         popen.assert_called_once_with(
             ["tesseract", "input.bmp", "stdout", "-psm", "0", "-l", "fra"],
             stdin=subprocess.PIPE,
             shell=False,
             startupinfo=None,
             creationflags=0,
             cwd=tmpdir,
             stdout=subprocess.PIPE,
             stderr=subprocess.STDOUT)
Exemple #3
0
 def test_detect_orientation_tesseract4_non_rgb_image(
         self, popen, temp_dir, get_version):
     """This tests that detect_orientation works with non RGB mode images and
     that image is converted in function."""
     image = self.image.convert("L")
     get_version.return_value = (4, 0, 0)
     message = ("Page number: 0\n"
                "Orientation in degrees: 90\n"
                "Rotate: 270\n"
                "Orientation confidence: 9.30\n"
                "Script: Latin\n"
                "Script confidence: 8.06\n")
     self.stdout.stdout.read.return_value = message.encode()
     popen.return_value = self.stdout
     with TemporaryDirectory(prefix="tess_") as tmpdir:
         enter = MagicMock()
         enter.__enter__.return_value = tmpdir
         temp_dir.return_value = enter
         result = tesseract.detect_orientation(image)
         self.assertEqual(result["angle"], 90)
         self.assertEqual(result["confidence"], 9.30)
         popen.assert_called_once_with(
             ["tesseract", "input.bmp", "stdout", "--psm", "0"],
             stdin=subprocess.PIPE,
             shell=False,
             startupinfo=None,
             creationflags=0,
             cwd=tmpdir,
             stdout=subprocess.PIPE,
             stderr=subprocess.STDOUT)
Exemple #4
0
 def test_detect_orientation_tesseract3_error(self, popen, temp_dir,
                                              get_version):
     get_version.return_value = (3, 5, 0)
     message = ("Could not initialize tesseract\n")
     self.stdout.stdout.read.return_value = message.encode()
     popen.return_value = self.stdout
     with TemporaryDirectory(prefix="tess_") as tmpdir:
         enter = MagicMock()
         enter.__enter__.return_value = tmpdir
         temp_dir.return_value = enter
         with self.assertRaises(tesseract.TesseractError) as te:
             tesseract.detect_orientation(self.image)
         popen.assert_called_once_with(
             ["tesseract", "input.bmp", "stdout", "-psm", "0"],
             stdin=subprocess.PIPE,
             shell=False,
             startupinfo=None,
             creationflags=0,
             cwd=tmpdir,
             stdout=subprocess.PIPE,
             stderr=subprocess.STDOUT)
         self.assertEqual(te.exception.status, -1)
         self.assertIn("Error initializing tesseract", te.exception.message)
Exemple #5
0
 def test_orientation_90(self):
     img = Image.open('tests/data/test-90.png')
     result = tesseract.detect_orientation(img, lang='eng')
     self.assertEqual(result['angle'], 90)
 def test_orientation_90(self):
     img = Image.open('tests/data/test-90.png')
     result = tesseract.detect_orientation(img, lang='eng')
     self.assertEqual(result['angle'], 90)
Exemple #7
0
 def test_orientation_90(self):
     img = Image.open(
         os.path.join("tests", "input", "specific", "test-90.png"))
     result = tesseract.detect_orientation(img, lang='eng')
     self.assertEqual(result['angle'], 90)
 def test_orientation_90(self):
     img = Image.open("tests/data/test-90.png")
     result = tesseract.detect_orientation(img, lang="eng")
     self.assertEqual(result["angle"], 90)
Exemple #9
0
 def test_orientation_90(self):
     img = Image.open(os.path.join("tests", "input", "specific", "test-90.png"))
     result = tesseract.detect_orientation(img, lang='eng')
     self.assertEqual(result['angle'], 90)
Exemple #10
0
 def test_orientation_90(self):
     img = base.Image.open(self._path_to_img("test-90.png"))
     result = tesseract.detect_orientation(img, lang='eng')
     self.assertEqual(result['angle'], 90)
Exemple #11
0
 def test_orientation_90(self):
     img = base.Image.open(self._path_to_img("test-90.png"))
     result = tesseract.detect_orientation(img, lang='eng')
     self.assertEqual(result['angle'], 90)