Wolfram Language

Services externes

Traduisez un texte dans une image

Vous pouvez créer une fonction qui reçoit une image en entrée et traduit le texte qu'elle contient en anglais.

In[1]:=
Click for copyable input
ImageTranslate[image_, rules___Rule] := ImageTranslate[image, Association@rules]; ImageTranslate[image_, args_] := Module[ {tr, gt, translatedText, to = Entity["Language", "English"], i, ifc, rule, im, result = {}, recognizedList}, i = Binarize@ColorNegate@image; ifc = ImageForestingComponents[ColorNegate@i, Automatic, {First@ImageDimensions@i, 1}]; rule = {h__, {0 ..}, w : {0 ..}, {0 ..}, t__} -> {h, w, w, t}; im[x_] := Transpose[ Transpose[Replace[ifc, Except[x] -> 0, {2}] //. rule] //. rule]; tr = TextRecognize[Image[im[#]], Language -> "Spanish"] & /@ Range[2, Max@ifc]; recognizedList = Flatten@List[tr]; gt = args[ServiceObject]; translatedText = gt["Translate", "To" -> to, "Text" -> #] & /@ recognizedList; translatedText ]

Connectez-vous à l'API de Microsoft Translator.

In[2]:=
Click for copyable input
mt = ServiceConnect["MicrosoftTranslator"];

Importez une image.

In[3]:=
Click for copyable input

Sélectionnez la zone où apparaît le texte.

In[4]:=
Click for copyable input
col = ImageTake[img, {970, 1920}, {770, 1300}]
Out[4]=

Utilisez la fonction définie précédemment pour obtenir la traduction.

In[5]:=
Click for copyable input
translation = ImageTranslate[col, ServiceObject -> mt]
Out[5]=

Vous pouvez même convertir le texte en couleurs réelles avec Wolfram Language !

In[6]:=
Click for copyable input
Interpreter["Color"] /@ translation
Out[6]=

Exemples connexes

de en es ja ko pt-br ru zh