NET实现谷歌OCR的使用记录(CLOUD VISION API)
1)购买VPS
2)配置一VPN 建议使用 cisco anycounect | Shadowsocks会连接失败(切记,祭奠浪费的一天)大神可以帮我看下是什么问题
3)进入https://cloud.google.com/?hl=zh-cn 注册一个账号,新用户有免费的$300美元可以使用
4)新建项目-结算-获取KEY- 启用api-查阅文档 https://cloud.google.com/vision/docs/?hl=zh-cn
5)有两种方式 1)自己按文档写(挺简单的) 2)引用客户端库来简化 以下为2实现
6)引用
Install-Package Google.Cloud.Vision.V1 -Pre
7)创建服务账户(谷歌控制台新建)
转到GCP控制台中的创建服务帐户密钥页面。
- 从服务帐户下拉列表中选择 新建服务帐户。
- 在服务帐户名称字段中输入一个名称。
- 从角色下拉列表中选择一个值object-所有者。
- 点击创建。出现一条提示,警告该服务帐户没有任何作用。
- 点击不带角色的创建。包含您的密钥下载到您的计算机的JSON文件。
8)设置电脑环境变量(使用Powershell)
$env:GOOGLE_APPLICATION_CREDENTIALS="你下载的json放的位置"
9)查看变量是否已存入
ls env:
10)变量需重启电脑才生效
11)测试代码
public static string Get(string path)
{
var client = ImageAnnotatorClient.Create();
var image = Image.FromFile(path);
var response = client.DetectText(image);
var str = "";
foreach (var annotation in response)
{
if (annotation.Description != null)
str+=annotation.Description;
}
return str; }
12)调用
var path = Server.MapPath(userrecords.url);
var str = Get(path);
return str;
13)官方详细demo
https://googlecloudplatform.github.io/google-cloud-dotnet/docs/Google.Cloud.Vision.V1/index.html
14)遇到的坑
1)vpn的坑,要慎重
2)基础连接已关闭的原因 需要设置
request.ProtocolVersion = HttpVersion.Version11;
request.KeepAlive = false;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true; //总是接受 哈哈
}
3)谷歌注册需要国际通用信用卡,一定情况下还需要上传身份证 信用卡照片什么的,还好 不算太坑
NET实现谷歌OCR的使用记录(CLOUD VISION API)的更多相关文章
- 非黑即白--谷歌OCR光学字符识别
# coding=utf-8 #非黑即白--谷歌OCR光学字符识别 # 颜色的世界里,非黑即白.computer表示深信不疑. # 今天研究一下OCR光学识别庞大领域中的众多分支里的一个开源项目的一个 ...
- K/3 Cloud Web API接口说明文
K/3 Cloud Web API接口说明文 目的 三方集成,提供第三方系统与Cloud集成调用接口. 技术实现 HTTP + Json 提供标准接口 编号 名称 说明 1 Kingdee.BOS.W ...
- Step by Step to create orders by consuming SAP Commerce Cloud Restful API
Recently Jerry is working on an integration project about creating orders in Wechat platform by cons ...
- 【Android Developers Training】 89. 最大化的使用谷歌云消息(Google Cloud Messaging)
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 玩转Spring Cloud之API网关(zuul)
最近因为工作原因,一直没有空写文章,所以都是边忙项目,边利用空闲时间,周末时间学习总结,最终在下班回家后加班加点写完本篇文章,若有不足之处,还请谅解,谢谢! 本文内容导航: 一.网关的作用 二.网关与 ...
- 谷歌统计使用代码部署和事件API使用
谷歌统计代码部署和API使用 1.注册谷歌账号 要使用GA,必需先成为GOOGLE的注册用户,如果没有请去注册.当然,你有GMAIL邮箱就可以.邮箱就是帐户名. 2.开启Google Analytic ...
- 谷歌、腾讯、百度相应API批量获取地理位置坐标信息及其优缺点
目录: 申请ak 批量获取地理位置 目的:通过给定的地理位置名称(如:北京市海淀区上地十街十号),获取经纬度信息. 1.申请ak 以百度Geocoding API为例:http://lbsyun.ba ...
- 个人支付宝监控并自动获取交易记录对接系统API
我们都知道,支付宝支付API接口只有企业才能使用,但有一部分业务,可能我们不方便使用企业收款,但又想做到自动化,那怎么办呢 于是一个支付宝交易记录自动监控软件诞生了. 支付宝都有一个收款二维码,收款提 ...
- Spring Cloud Zuul API服务网关之请求路由
目录 一.Zuul 介绍 二.构建Spring Cloud Zuul网关 构建网关 请求路由 请求过滤 三.路由详解 一.Zuul 介绍 通过前几篇文章的介绍,我们了解了Spring Cloud ...
随机推荐
- shell脚本只提供整数算术运算(三种方式)—((表达式))、let "表达式"、value=`expr 表达式右边` (转载)
转自:http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201131055455754/ 数值运算: 在bash中只提供了整数运算,一 ...
- sql常识性误解
今天在公司一个项目,遇到一个问题,最后解决下来竟然发现自己对sql竟然存在一个常识性的误解 表数据 需求如下 查找 name中的数据被参数 'adsb' 包含的的列 个人原先的误区一直在于一个认识, ...
- 洛谷 - P1443 - 马的遍历 - bfs
略有收获的bfs,使用了try_enqueue函数使得加入队列非常方便.性能理论上是一样的因为是inline? 还有就是左对齐是使用%-4d,相对于右对齐的%4d,还有右对齐前导零的%04d,自己试一 ...
- bzoj 3771: Triple【生成函数+FFT+容斥原理】
瞎搞居然1A,真是吃鲸 n的范围只有聪明人能看见--建议读题3遍 首先看计数就想到生成函数,列出多项式A(x),然后分别考虑123 对于选一个的直接计数即可: 对于选两个的,\( A(x)^2 \), ...
- Python实现两已知排好序的列表合并成一个排好序的列表
#方法0.5--- lst1 = [1, 3, 7, 9, 12] lst2 = [4, 8, 9, 13, 15, 19] def merge(a, b): c = [] h = j = 0 whi ...
- Wolfycz的娱乐赛题解
现在不会放题解的!比赛完了我会把题解放上来的 祝大家玩的愉快~ 等会,cnblogs不会显示更新时间?我禁赛我自己 UPD:2018.12.15 欢迎大家爆踩标程- painting 我们考虑转化题意 ...
- vs2010 坑爹的BUG
以前用VS2005的时候,就遇到过一些很奇怪的BUG,比如始终报错,然后把项目文件删除,重新创建一个项目文件,就好了. 今天用VS2010测试程序时,又发现一个坑爹的BUG,这绝对不是我的错! sta ...
- 475 Heaters 加热器
详见:https://leetcode.com/problems/heaters/description/ C++: class Solution { public: int findRadius(v ...
- python_面向对象进阶(7)
第1章 面向对象特性—继承(补充) 1.1 接口类.抽象类介绍 1.2 接口类 1.3 接口类应用过程 1.3.1 第一版:完成多种支付方式接口 1.3.2 第二版: 归一化设计,统一支付方式 1.3 ...
- ping localhost 返回 ::1的导致不能打开http://localhost的原因及解决
虽然可以在浏览器中正常访问http://localhost但用file,file_get_contents等函数打开http://localhost异常.用127.0.0.1也可以打开,本地hosts ...