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 ...
随机推荐
- 什么是位、字节、字、KB、MB?
1. 位(bit)是计算机里最小的数据单位,每一位的状态只能是0或者1 2. 字节(Byte) 1Byte = 8 bit 它是存储空间的基本计量单位,1byte可以存储一个英文字 ...
- linux中目录操作<1>
一.目录的权限 (1)目录文件的访问权限分为三组,分别为所有者,用户,其他.每个权限组的权限位有3个,分别为读.写.执行. 注意:可以使用stat函数得到目录文件的状态信息.权限为在stat结构中st ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 20. Model Binding
模型绑定 这是个最简单的绑定 先从表单找.再从路由的值上找,最后去QueryString上找 通过反射获取这个类型的属性进行填充.反射完有几个属性,就开始去找着几个属性并绑定值 复杂类型 最后又加了一 ...
- liteos 中断机制(四)
1. 概述 中断是指出现需要时, CPU暂停执行当前程序,转而执行新程序的过程.即在程序运行过程中,系统出现了一个必须由CPU立即处理的事务,此时, CPU暂时中止当前程序的执行转而处理这个事务,这个 ...
- C++开发工程师面试题库 150~200道
151.简述需求分析的过程和意义 152.网状.层次数据模型与关系数据模型的最大的区别是什末 153.软件质量保证体系是什末 国家标准中与质量保证管理相关的几个标准是什末 编号和全称是什末号和全称是什 ...
- python 标准库大全
python 标准库 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 string ...
- 跟我一起玩Win32开发(4):创建菜单
也不知道发生什么事情,CSDN把我的文章弄到首页,结果有不少说我在误人子弟,是啊,我去年就说过了,如果你要成为砖家级人物,请远离我的博客,我这个人没什么特长,唯一厉害的一点就是不相信权威,鄙视砖家,所 ...
- redis启停
1 查看服务器上启动的redis服务 开了两个redis单机服务,监听在两个端口. 开了一个集群,监听在6个端口. [root@localhost bin]# ps aux | grep redis ...
- python之unittest
unittest是单元测试的一个框架 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoade ...
- ARC 100
链接 https://arc100.contest.atcoder.jp/ C Linear Approximation 题解 把ai减去i后排序, 我们要的b就是排完序后的中位数 Code #inc ...