python拍照搜题_OCR拍照搜题
OCR拍照搜题
简介
HI,您好,欢迎使⽤学⽽思⽹校AI开放平台OCR拍照搜题接⼝服务。
本⽂档主要针对需要集成HTTP API的技术研发⼯程师,详细描述OCR拍照搜题能⼒相关的技术内容。您可以通过
接⼝能⼒
接⼝名称
接⼝能⼒简要描述
api 地址
OCR拍照搜题
检测上传图像中的⽂字,进⾏ AI ⽂字识别,然后搜索相关的试题。
适⽤范围
任意操作系统,任意编程语⾔,均可以通过http或https调⽤本接⼝。
图像发送⽅式
图像数据⽀持两种形式发送:
URL
⽹络上的图⽚ URL 地址
图⽚数据
请求图⽚需经过base64编码:图⽚的base64编码指将⼀副图⽚编码成字符串数据,便于⽹络传输请求。您可以⾸先得到图⽚的⼆进制,进⾏base64编码后,然后再进⾏urlencode(注意你所使⽤的⽹络⼯具或⽹络库有没有默认的urlencode功能,如果没有,需要你⾃⼰显式转化)。
转码⽅式可参考
writeline和write的区别python注意: 图⽚的base64编码是不包含图⽚头的,如(data:image/jpg;base64,)
图⽚⼤⼩
不能⼤于4MB
长边不能超过4096px
短边不能⼩于15px
图像类型⽀持
图像数据⽀持以下原⽣类型:
jpg
png
jpeg
bmp
⽂字识别范围
⽬前,OCR识别接⼝服务⽀持多种类型⽂字,包括:
中⽂打印体识别
英⽂打印体识别
表格识别
拼⾳识别
请求⽅式
HTTP ⽅法:POST
注意: Content-Type为application/x-www-form-urlencoded,然后通过urlencode格式化请求体。
Header 如下:
参数名
赋值
Content-Type
application/x-www-form-urlencoded
urlencode介绍
在请求 API 的 post 请求参数中含有图⽚url地址或base64字符。url地址 或 base64 字符作为参数传递时,需要把 中⽂ 以及 '/' 做⼀下编码,防⽌解析中出现歧义,从⽽符合url的规范。
将中⽂ 以及 '/'  转换为百分号编码形式,这就是 urlencode格式化操作。
部分语⾔的第三⽅包内部做了 urlencode 编码,不进⾏ urlencode 格式化也可以正常进⾏ API 请求,但    是进⾏ urlencode 格式化之后,⼀定可以通过请求。所以我们推荐您对请求体中的参数进⾏ urlencode 操作。
快速接⼊⽅式
请求参数详情
参数名
类型
是否必选
赋值说明
样例
备注
app_key
string
应⽤标识
8102b22a5e81e840176d9f381ec6f837
img
string
图像数据
图像 base64数据:⽰例数据较长,见附件
图像base64字符串 / 图像URL
img_type
string
图像形式
URL
base64 / URL
subject_id
integer
学科id
1:语⽂,2:数学,3:英语,4:物理,5:化学,6:⽣物,7:政治,8:历史,9:地理,20:趣味,21:科学,25:⽣化,26:编程,44:⼈⽂
默认0
请求代码⽰例
HTTP 代码⽰例:
POST /v1/api/img/ocr/photo_search HTTP/1.1
Host: openapiai.xueersi
Content-Type: application/x-www-form-urlencoded
cache-control: no-cache
app_key=8102b22a5e81e840176d9f381ec6f837&img=https%3a%2f%2fi.loli%2f2019%2f03%2f22%2f5c94684fad74
cURL 代码⽰例:
curl -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'cache-control: no-cache' \
-d
'app_key=8102b22a5e81e840176d9f381ec6f837&img=https%3a%2f%2fi.loli%2f2019%2f03%2f22%2f5c94684fad743.jpg
PHP 代码⽰例:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "openapiai.xueersi/v1/api/img/ocr/photo_search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>
"app_key=8102b22a5e81e840176d9f381ec6f837&img=https%3a%2f%2fi.loli%2f2019%2f03%2f22%2f5c94684fad743.jpg
CURLOPT_HTTPHEADER => array(
"Content-Type: application/x-www-form-urlencoded",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Python(Python3) 代码⽰例:
URL传参⽅式:
import http.client
conn = http.client.HTTPConnection("openapiai.xueersi")
payload =
"app_key=8102b22a5e81e840176d9f381ec6f837&img=https%3A%2F%2Fai.xueersi%2FtextRecognition%2Fimages%2F22
headers = {
'Content-Type': "application/x-www-form-urlencoded",
'cache-control': "no-cache",
}
res = sponse()
data = ad()
#python2.7
#print(data)
#python3.6
print(data.decode("utf-8"))
conn.close()
base64传参⽅式:
import http.client
import urllib
import base64
from urllib import quote
with open('./test.jpg', 'rb') as bin_data:
image_data = ad()
image_data_base64 = base64.b64encode(image_data)
image_data_base64 = quote(image_data_base64)
conn = http.client.HTTPConnection("openapiai.xueersi")
appkey_string = 'app_key=8102b22a5e81e840176d9f381ec6f837'
img_string = 'img=' + image_data_base64
img_type_string = 'img_type=base64'
payload = appkey_string + '&' + img_string + '&' + img_type_string
headers = {
'Content-Type': "application/x-www-form-urlencoded",
'cache-control': "no-cache",
}
res = sponse()
data = ad()
print(data.decode("utf-8"))
conn.close()
C++(LibCurl) 代码⽰例:
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "openapiai.xueersi/v1/api/img/ocr/photo_search"); struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "cache-control: no-cache");
headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。