-
-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please support image translate #257
Comments
@nidhaloff @XelK @wenbindu @gleidsonh @yutkat , I found this code , good starter idea to develop it : Everything looks right , but i don't know why not working. import json
import requests
import base64
import os
def guess_type(image_path):
# Get the file extension from the image path
ext = os.path.splitext(image_path)[1].lower()
# Map the extensions to the mimetypes
mimetypes = {
".jpg": "image/jpeg",
".jpeg": "image/jpeg",
".png": "image/png"
}
# Return the mimetype if it exists, otherwise return None
return mimetypes.get(ext, None)
def load_image_as_base64(image_path):
with open(image_path, 'rb') as f:
image_bytes = f.read()
# Convert image bytes to base64 string
base64_string = base64.b64encode(image_bytes).decode('utf-8')
mimetype = guess_type(image_path)
# Return image data in the specified format
return [base64_string, mimetype]
_imageObj = load_image_as_base64('124+958.png')
_RPCIDS = "WqWDPb"
params = {
'rpcids': _RPCIDS,
'bl': 'boq_translate-webserver_20240115.08_p0',
'soc-app': 1,
'soc-platform': 1,
'soc-device': 1,
'rt': 'c'
}
data = {'f.req': json.dumps([[
[_RPCIDS,
json.dumps([_imageObj,"auto","fr"], separators=(',', ':')),
None,
"generic"]
]], separators=(',', ':')),
}
TRANSLATEURL = 'https://translate.google.com/_/TranslateWebserverUi/data/batchexecute'
response = requests.request("POST", TRANSLATEURL,
data=data,
params=params,
) then i use bellow code to get translated image : import base64
def convert_base64_to_image(base64_string, image_path):
# Convert base64 string to image bytes
image_bytes = base64.b64decode(base64_string)
# Write the image bytes to a file
with open(image_path, 'wb') as image_file:
image_file.write(image_bytes)
b = response.text.split('\n')
li_filter = []
flag = False
for _b in b:
if _b.isnumeric():
flag = not flag
_b = '==='
if flag:
li_filter.append(_b)
li_data = json.loads(li_filter[1])
resp_img_data =json.loads(li_data[0][2])
res_img_data=resp_img_data[0]
f_mimetypes = {
"image/jpg": ".jpg" ,
"image/jpeg" :".jpeg",
"image/png" : ".png"
}
convert_base64_to_image(res_img_data[0], 'out'+f_mimetypes[res_img_data[1]]) |
I tried something similar, but google is returning same image as input and is not doing any translation |
Here you are |
@zeneisis , It's good but its not exactly what i mean,I want just use deep-translator with no dependencies to translate images |
Thank you because of your amazing work.
Google translate can translate image to new image and also return text in it,
please add this feature.
RPCIDS value for image translate is "WqWDPb"
The text was updated successfully, but these errors were encountered: