Traduzca un texto en una imagen
Usted puede crear una función que reciba una imagen como entrada y traduzca el texto en inglés.
In[1]:=
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
]
Conéctese al API de Microsoft Translator®.
In[2]:=
mt = ServiceConnect["MicrosoftTranslator"];
Importe una imagen.
In[3]:=
Seleccione el área donde quiere que aparezca el texto.
In[4]:=
col = ImageTake[img, {970, 1920}, {770, 1300}]
Out[4]=
Utilice la función previamente definida para obtener la traducción.
In[5]:=
translation = ImageTranslate[col, ServiceObject -> mt]
Out[5]=
Usted puede convertir el texto a colores reales con Wolfram Language.
In[6]:=
Interpreter["Color"] /@ translation
Out[6]=