Wolfram Language

Serviços externos

Traduza o texto em uma imagem

Você pode criar uma função que recebe uma imagem como um input e traduza o texto para inglês.

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 ]

Conecte-se ao API do Microsoft Translator.

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

Importe uma imagem.

In[3]:=
Click for copyable input

Selecione a área em que o texto aparece.

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

Use a função previamente definida para obter a tradução.

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

Você pode até mesmo converter o texto para as cores reais com a Wolfram Language!

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

Exemplos Relacionados

de en es fr ja ko ru zh