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)
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)
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)
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)
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( 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)
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 = base.Image.open(self._path_to_img("test-90.png")) result = tesseract.detect_orientation(img, lang='eng') self.assertEqual(result['angle'], 90)