制造业在产品识别环节经历着前所未有的挑战。传统的依赖人工进行产品识别的方法效率低下,难以满足现代化生产线高速运转的需求,导致生产周期延长和交货延迟。 高昂的人工成本进一步加剧了这个问题,尤其是在需要大量人力进行细致检查和分类的场景下。 此外,人工识别容易出错,即使经验丰富的工人也可能出现视觉疲劳和判断失误。因此,提高产品识别效率、降低人工成本和错误率,已成为许多制造企业亟待解决的关键问题。
腾讯云OCR是腾讯云提供的一项强大的图像识别服务,能够快速、准确地将图片或文档中的文字信息提取出来。 它基于腾讯云领先的深度学习技术,具备卓越的图像识别能力,能够处理多种语言、多种字体、不同清晰度和复杂的背景图像。
腾讯云OCR的优势在于其高精确性和高效率。 处理速度快,能够快速识别大量的图像,有效减少人工处理的时间,大幅提升工作效率。 此外,腾讯云OCR还提供灵活的API接口和SDK,方便用户集成到各种应用系统中,降低了开发和部署成本。
本文通过内存模组产品识别案例,详细讲解腾讯云OCR在制造业的应用,并提供可操作的实战指南。
运用顶尖的深度学习、图像检测和OCR大模型技术,腾讯云OCR实现了对任意版式文档的结构化信息提取。从标准化证件到复杂的物流单据,都能精准识别。系统预先学习并建立了键值对映射关系,并支持客户自定义模板,显著提升数据录入效率,广泛应用于政务、票据审核、行业表单和国际物流等领域。
核心功能:
核心优势:
适用场景:
腾讯云智能结构化OCR提供两种方案,满足不同需求:
基础版: 就像一个通用的文字识别工具,能轻松搞定各种常见文档,比如身份证、银行卡、发票等等,只要文字比较规范,它都能准确识别。
高级版: 如果你需要更强大的功能,高级版就是你的选择。它可以根据你的具体情况定制识别模板,即使是格式复杂、设计独特的文档,它也能轻松应对,特别适合一些对识别精度要求很高的特殊行业。 你可以把它想象成一个私人订制版文字识别专家,能满足你所有个性化需求。
简单来说就是:用电脑“看”懂内存条上的信息! 你想想,内存条上那些型号、容量、频率、生厂商等等,密密麻麻的小字,人工一个一个看太费劲了,对吧?
所以需要有一个系统,能快速、准确地从内存条的图片或者视频里,直接把这些关键信息都识别出来。
不过这活儿还真有点难!内存条上的标签往往很小,字体也五花八门,有的字还模糊不清;拍照的时候,光线不好或者角度不对,也会影响识别效果。
但我们希望最后能做到:系统自动把这些信息提取出来,整理成规规矩矩的表格,这样就能方便地用来分析和处理数据了,不用再人工录入,省时省力!
比如这样的图片中提取出标签的所有信息:
想体验腾讯云智能结构化OCR的强大功能?
可以点击上面的“了解产品详情及文档”链接,然后在页面找到“立即体验”按钮,开始OCR之旅!
玩转腾讯云智能OCR!
第一步: 先登录腾讯云控制台。还没账号?官方提供了账号注册教程 快速完成注册和实名认证。
第二步:开通服务 点击进入文字识别控制台 ,轻松开通服务。开通后如下:
第三步:根据需求,可以选择以下四种方式之一
腾讯云API 3.0全新升级的开发者工具套件(SDK 3.0)现已推出,作为C++后端开发工程师,本文首选C++编程语言高效接入腾讯云服务。
关于C++ SDK的安装教程可以参考腾讯云SDK中心的教程,这里不一一赘述了。
git clone https://github.com/TencentCloud/tencentcloud-sdk-cpp.git
cd tencentcloud-sdk-cpp
mkdir sdk_build
cd sdk_build
# centos 下使用 cmake3 ..
# 指定产品编译,分号;分隔
cmake -DBUILD_MODULES="cvm;cbs" ..
make
sudo make install
下面我们通过API Explorer中在线这个功能,以通用印刷体识别(高精度版)为例。
调用后会得到类似如下的 JSON 结果:
{
"Response": {
"Angle": 359.989990234375,
"RequestId": "9957e1ca-b0f1-4f5f-8e31-9317a7cc3462",
"TextDetections": [
{
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":1}}",
"Confidence": 100,
"DetectedText": "SK hym",
"ItemPolygon": {
"Height": 14,
"Width": 38,
"X": 48,
"Y": 32
},
"Polygon": [
{
"X": 49,
"Y": 32
},
{
"X": 85,
"Y": 34
},
{
"X": 84,
"Y": 45
},
{
"X": 48,
"Y": 43
}
],
"WordCoordPoint": [],
"Words": []
},
{
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":4}}",
"Confidence": 100,
"DetectedText": "豆",
"ItemPolygon": {
"Height": 20,
"Width": 13,
"X": 576,
"Y": 117
},
"Polygon": [
{
"X": 576,
"Y": 117
},
{
"X": 588,
"Y": 117
},
{
"X": 588,
"Y": 136
},
{
"X": 576,
"Y": 136
}
],
"WordCoordPoint": [],
"Words": []
},
{
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":2}}",
"Confidence": 100,
"DetectedText": "SKhynix",
"ItemPolygon": {
"Height": 17,
"Width": 54,
"X": 149,
"Y": 145
},
"Polygon": [
{
"X": 149,
"Y": 145
},
{
"X": 202,
"Y": 145
},
{
"X": 202,
"Y": 161
},
{
"X": 149,
"Y": 161
}
],
"WordCoordPoint": [],
"Words": []
},
{
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":2}}",
"Confidence": 100,
"DetectedText": "16GB 2Rx8 PC4-2933Y-RE2-12",
"ItemPolygon": {
"Height": 18,
"Width": 214,
"X": 206,
"Y": 145
},
"Polygon": [
{
"X": 206,
"Y": 145
},
{
"X": 419,
"Y": 145
},
{
"X": 419,
"Y": 162
},
{
"X": 206,
"Y": 162
}
],
"WordCoordPoint": [],
"Words": []
},
{
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":3}}",
"Confidence": 100,
"DetectedText": "ECO",
"ItemPolygon": {
"Height": 13,
"Width": 25,
"X": 536,
"Y": 153
},
"Polygon": [
{
"X": 536,
"Y": 153
},
{
"X": 560,
"Y": 153
},
{
"X": 560,
"Y": 165
},
{
"X": 536,
"Y": 165
}
],
"WordCoordPoint": [],
"Words": []
},
{
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":2}}",
"Confidence": 100,
"DetectedText": "KOREA",
"ItemPolygon": {
"Height": 19,
"Width": 52,
"X": 147,
"Y": 160
},
"Polygon": [
{
"X": 148,
"Y": 160
},
{
"X": 198,
"Y": 162
},
{
"X": 197,
"Y": 178
},
{
"X": 147,
"Y": 175
}
],
"WordCoordPoint": [],
"Words": []
},
{
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":2}}",
"Confidence": 100,
"DetectedText": "HMA82GR7CJR8N-WM TG AC 2008",
"ItemPolygon": {
"Height": 21,
"Width": 228,
"X": 204,
"Y": 165
},
"Polygon": [
{
"X": 205,
"Y": 165
},
{
"X": 431,
"Y": 167
},
{
"X": 430,
"Y": 185
},
{
"X": 204,
"Y": 184
}
],
"WordCoordPoint": [],
"Words": []
}
]
}
}
点击代码示例得到如下内容:
#include <tencentcloud/core/Credential.h>
#include <tencentcloud/core/profile/ClientProfile.h>
#include <tencentcloud/core/profile/HttpProfile.h>
#include <tencentcloud/ocr/v20181119/OcrClient.h>
#include <tencentcloud/ocr/v20181119/model/GeneralAccurateOCRRequest.h>
#include <tencentcloud/ocr/v20181119/model/GeneralAccurateOCRResponse.h>
#include <iostream>
#include <string>
#include <vector>
using namespace TencentCloud;
using namespace TencentCloud::Ocr::V20181119;
using namespace TencentCloud::Ocr::V20181119::Model;
using namespace std;
int main() {
// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
Credential cred = Credential("SecretId", "SecretKey");
// 实例化一个http选项,可选的,没有特殊需求可以跳过
HttpProfile httpProfile = HttpProfile();
httpProfile.SetEndpoint("ocr.tencentcloudapi.com");
// 实例化一个client选项,可选的,没有特殊需求可以跳过
ClientProfile clientProfile = ClientProfile();
clientProfile.SetHttpProfile(httpProfile);
// 实例化要请求产品的client对象,clientProfile是可选的
OcrClient client = OcrClient(cred, "ap-guangzhou", clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
GeneralAccurateOCRRequest req = GeneralAccurateOCRRequest();
req.SetImageUrl("https://i-blog.csdnimg.cn/blog_migrate/580df53e4c7cb618ab157073809e37f9.png");
// 返回的resp是一个GeneralAccurateOCRResponse的实例,与请求对象对应
auto outcome = client.GeneralAccurateOCR(req);
if (!outcome.IsSuccess())
{
cout << outcome.GetError().PrintAll() << endl;
return -1;
}
GeneralAccurateOCRResponse resp = outcome.GetResult();
// 输出json格式的字符串回包
cout << resp.ToJsonString() << endl;
return 0;
}
其中resp.ToJsonString()
就是上面的JSON结果,我们只要对JSON字符串结果进行解析即可得到想要的结果。
解析JSON结果的代码:
#include <tencentcloud/core/Credential.h>
#include <tencentcloud/core/profile/ClientProfile.h>
#include <tencentcloud/core/profile/HttpProfile.h>
#include <tencentcloud/ocr/v20181119/OcrClient.h>
#include <tencentcloud/ocr/v20181119/model/GeneralAccurateOCRRequest.h>
#include <tencentcloud/ocr/v20181119/model/GeneralAccurateOCRResponse.h>
#include <iostream>
#include <string>
#include <vector>
#include <json/json.h> // 需要包含jsoncpp库
using namespace TencentCloud;
using namespace TencentCloud::Ocr::V20181119;
using namespace TencentCloud::Ocr::V20181119::Model;
using namespace std;
int main() {
// ... (Credential and Client initialization remains the same) ...
auto outcome = client.GeneralAccurateOCR(req);
if (!outcome.IsSuccess())
{
cout << outcome.GetError().PrintAll() << endl;
return -1;
}
GeneralAccurateOCRResponse resp = outcome.GetResult();
string jsonString = resp.ToJsonString();
Json::Reader reader;
Json::Value root;
if (reader.parse(jsonString, root)) {
const Json::Value& textDetections = root["Response"]["TextDetections"];
for (const auto& detection : textDetections) {
if (!detection["AdvancedInfo"].isNull()) {
cout << "AdvancedInfo: " << detection["AdvancedInfo"].asString() << endl;
}
if (!detection["DetectedText"].isNull()) {
cout << "DetectedText: " << detection["DetectedText"].asString() << endl;
}
}
} else {
cerr << "Failed to parse JSON: " << reader.getFormattedErrorMessages() << endl;
return -1;
}
return 0;
}
为了方便,这里我使用了jsoncpp库, 源码地址是 https://github.com/open-source-parsers/jsoncpp 。
如果使用CMake构建项目,步骤会更简单:
add_subdirectory(path/to/jsoncpp) # Replace with the path to your jsoncpp source
target_link_libraries(your_target PRIVATE jsoncpp::jsoncpp)
include_directories(path/to/jsoncpp/include)
记得将 "SecretId"
和 "SecretKey"
替换成你的实际腾讯云 SecretId 和 SecretKey。
腾讯云OCR就像一个超级快的、不会疲倦的、又很准确的抄写员,它能帮你快速、廉价地把照片上的文字转换成电脑能识别的文字,省时省力又省钱! 尤其是当你需要处理很多照片的时候,这个优势就更加明显了。
腾讯云OCR通过其高效率、高准确率和低成本的特点,为企业和个人提供了比人工识别更优越的解决方案。
腾讯云OCR在制造业的应用远不止于简单的文字识别,它还可以赋能诸多场景,例如零件识别和质量检测,显著提升效率和降低成本:
零件识别:
质量检测:
其他应用场景:
腾讯云OCR在制造业场景的优势:
腾讯云OCR未来的发展方向将是朝着更加智能化、自动化、个性化和普适化的方向发展,最终目标是让OCR技术成为一种简单易用、高效可靠的工具,广泛应用于各个行业和领域。
腾讯云OCR在内存模组产品识别中高效识别芯片型号、容量等关键信息,显著提升了生产效率和数据准确性,减少人工错误。这凸显了其在制造业中的重要意义:实现自动化质检、精细化管理,最终提升产品质量和竞争力。
参考:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。