第84篇ES之php图片转base64位码及调汉王图像识别接口及调搜索引擎接口及删除collection[通俗易懂]

第84篇ES之php图片转base64位码及调汉王图像识别接口及调搜索引擎接口及删除collection[通俗易懂]关键词:更新题库到ES,php图片转base64位码,调汉王图像识别接口,调搜索引擎接口,删除collection一、更新题库到ES(四)1.1php图片转base64位码实现了,代码如下:1)先搞一个php,上传文

关键词:更新题库到ES, php图片转base64位码,调汉王图像识别接口, 调搜索引擎接口,删除collection

一、更新题库到ES(四)

1.1 php图片转base64位码

实现了,代码如下:

1先搞一个php,上传文件用的,如下:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01Transitional//EN”

“http://www.w3.org/TR/html4/loose.dtd”>

<html>

  <head>

    <title>New Document </title>

    <metaname=”Generator” content=”EditPlus”>

    <metaname=”Author” content=””>

    <metaname=”Keywords” content=””>

    <metaname=”Description” content=””>

<meta charset=”utf-8″>

  </head>

  <body>

    <form  method=”post”enctype=”multipart/form-data”

action=”2.2php_photo_base64.php“>

      <inputtype=”file” name=”imgfile“value=”>

      <inputvalue=’提交’ type=”submit”>

    </form>

  </body>

</html>

注:注意三点,一是utf-8编码;二是提交到一个php(2.2php_photo_base64.php),三是提交时要给上传文件一个文字,方便接收。效果如下:

第84篇ES之php图片转base64位码及调汉王图像识别接口及调搜索引擎接口及删除collection[通俗易懂]

22.2php_photo_base64.php如下:

<!DOCTYPE HTML PUBLIC “-//W3C//DTDHTML 4.01 Transitional//EN”

“http://www.w3.org/TR/html4/loose.dtd”>

<html>

 <head>

   <meta name=”Generator” content=”EditPlus”>

   <meta name=”Author” content=””>

   <meta name=”Keywords” content=””>

   <meta name=”Description” content=””>

    <metacharset=”utf-8″>

 </head>

 <body>

   <?php

     $img = $_FILES[‘imgfile’][‘tmp_name’]; 

     $base64_img = base64EncodeImage($img);

      echo ‘这是个图像:<br>’;

      echo ‘<img src=”‘ . $base64_img .'” style=”width:500px;height:500px;” />’.'<br>’;

     function base64EncodeImage ($image_file) {

       $base64_image = ”;

       $image_info = getimagesize($image_file);

       $image_data = fread(fopen($image_file, ‘r’), filesize($image_file));

       $base64_image = ‘data:’ . $image_info[‘mime’] . ‘;base64,’ .

chunk_split(base64_encode($image_data));

       return $base64_image;

     }

   ?>

 </body>

</html>

注:注意三点:一是要用uft-8编码,二是接收时,要用一样的文件名(imgfile),三是输出时可以以图像输出。还有一个注意点是要获取临时文件名(tmp_name),这样输出的是一个临时路径名,就不用把图片和程序放在一个文件夹里了。效果如下:

第84篇ES之php图片转base64位码及调汉王图像识别接口及调搜索引擎接口及删除collection[通俗易懂]

1.2调汉王图像识别接口

   //2调汉王的接口识别图像,返回识别字符串——————————————————-2

     //    参数:

     //    string  key – 识别授权码(请询问汉王)

     //    string  base64img – base64 格式的图像数据。注意HTTP 调用时 base64字符串要符合Url编码规范

     //    int  option – 调用选项(=0 纯文本;=1 文本公式混合;=2 公式区域同时提供文本和公式结果)

     //    bool  combine – 是否合并识别结果为一个字符串(true;false)

     $params=array(“key”=>”HanvonTestDianzhiJiaoyu”,”base64img”=>$base64_img,”option”=>”1″,”combine”=>”true”);

     $url =’http://114.215.125.18:8070/HanvonFormula.asmx/QuestionRecoJson’;

     $code = json_decode(curlRequest($url,$params),true)[‘result’];

     echo $code.”<br><br>”;

     echo “<pre>”;

     function curlRequest( $url, $params=array(), $header=array() ){

       $ch = curl_init();

       $res= curl_setopt($ch, CURLOPT_URL, $url);

       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

       curl_setopt($ch, CURLOPT_HEADER, 0);

       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

       curl_setopt($ch, CURLOPT_TIMEOUT, 60);

       if( isset($_SERVER[‘HTTP_USER_AGENT’]) ){

         curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT’]);

       }

       if( $params ){

         curl_setopt($ch, CURLOPT_POST, 1);

         curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));

       }

       if( $header ){

         curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

       }

       $result = curl_exec ($ch);

       curl_close($ch);

       if ($result == NULL) {

         return false;

       }

       return $result;

     }

注:把上述获取的图片base64位码,传到图像识别接口里。需要传四个参数,一是key,二是base64位码,三是识别option,四是combine是否合并结果。

1.3调搜索引擎接口,搜题库的题

     //3调搜索引擎接口———————————————3

     $url =’http://192.168.1.14:8004/v1/elasticsearch/search/searchs’;

     $params = array(‘type’=>1,’keyword’=>$code);

      print_r(curlRequest($url,$params));

注:需要传两个参数,一是搜索类型,是搜索题还是试卷;二是传入识别的关键字,用于题目搜索。

1.4 尝试搜索两个关键字

  1小知识——删除mongo数据库中的表(collection),用如下命令:

db.Problem_temp.drop();

第84篇ES之php图片转base64位码及调汉王图像识别接口及调搜索引擎接口及删除collection[通俗易懂]

2017年3月25日星期六

今天的文章第84篇ES之php图片转base64位码及调汉王图像识别接口及调搜索引擎接口及删除collection[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/66640.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注