Wolfram Language

Externe Dienste

Übersetzen Sie Text in ein Bild

Wir können eine Funktion bauen, die ein Bild als Eingabe erhält und den darin enthaltenen Text auf Englisch übersetzen kann.

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 ]

Stellen Sie eine Verbindung zur Microsoft Translator-API her.

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

Importieren Sie ein Bild.

In[3]:=
Click for copyable input

Wählen Sie den Bildbereich mit dem Text aus.

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

Verwenden Sie die zuvor definierte Funktion zur Übersetzung des Texts.

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

Mit der Wolfram Language können Sie den Text sogar wirklich in Farben verwandeln!

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

Verwandte Beispiele

en es fr ja ko pt-br ru zh