当前位置: 首页 > article >正文

腾讯云OCR在制造业的应用:内存模组产品识别实战指南

腾讯云OCR在制造业的应用

  • 一、 背景
  • 二、 腾讯云OCR技术概述
  • 三、 内存模组产品识别需求
  • 四、基于腾讯云OCR的内存模组产品识别
    • 4.1、准备工作
    • 4.2、API调用与代码实现
  • 五、 代码示例
  • 六、 应用场景
  • 七、 总结

一、 背景

制造业在产品识别环节经历着前所未有的挑战。传统的依赖人工进行产品识别的方法效率低下,难以满足现代化生产线高速运转的需求,导致生产周期延长和交货延迟。 高昂的人工成本进一步加剧了这个问题,尤其是在需要大量人力进行细致检查和分类的场景下。 此外,人工识别容易出错,即使经验丰富的工人也可能出现视觉疲劳和判断失误。因此,提高产品识别效率、降低人工成本和错误率,已成为许多制造企业亟待解决的关键问题。

腾讯云OCR是腾讯云提供的一项强大的图像识别服务,能够快速、准确地将图片或文档中的文字信息提取出来。 它基于腾讯云领先的深度学习技术,具备卓越的图像识别能力,能够处理多种语言、多种字体、不同清晰度和复杂的背景图像。

请在此添加图片描述

腾讯云OCR的优势在于其高精确性高效率。 处理速度快,能够快速识别大量的图像,有效减少人工处理的时间,大幅提升工作效率。 此外,腾讯云OCR还提供灵活的API接口和SDK,方便用户集成到各种应用系统中,降低了开发和部署成本。

本文通过内存模组产品识别案例,详细讲解腾讯云OCR在制造业的应用,并提供可操作的实战指南。

二、 腾讯云OCR技术概述

运用顶尖的深度学习、图像检测和OCR大模型技术,腾讯云OCR实现了对任意版式文档的结构化信息提取。从标准化证件到复杂的物流单据,都能精准识别。系统预先学习并建立了键值对映射关系,并支持客户自定义模板,显著提升数据录入效率,广泛应用于政务、票据审核、行业表单和国际物流等领域。

核心功能:

  • 灵活键值定义: 用户可自行定义键值对(key-value),系统将自动匹配图片文字与自定义键值,从而解析任意版式图片的结构化信息。
  • 智能模板匹配: 系统能智能识别上传图片,并将其自动匹配到已有的模板,无需人工分类,快速实现结构化信息提取。
  • 自定义字段类型: 支持创建多种字段类型,针对不同内容(如金额、日期、数字)进行精准优化,提升识别准确率。 更进一步,用户可自定义字段的可能取值范围,实现智能校正和规范化输出。

核心优势:

  • 精准识别: 支持各种版式的证件和票据识别,其字段识别精度处于行业领先地位,文本识别准确率超过98%,结构化识别准确率超过85%。
  • 全面覆盖: 涵盖多种常见证件和票据的结构化信息提取,例如警官证、教师资格证、道路运输证等,广泛适用于各行各业。
  • 便捷易用: 只需简单的几步操作即可创建个性化模板,快速提取结构化数据,大幅提升数据录入效率。
  • 多语言支持,API接口易于集成。

适用场景:

  • 政务及身份认证: 适用于政务、教育、金融等行业,可高效处理各类标准化证件(如警官证、英语等级证书、教师资格证、临时身份证等)的结构化信息提取,简化身份认证流程,提升业务办理效率。
  • 行业表单自动化: 针对医疗、物流、金融、制造等行业,支持定制专属模板,自动识别和录入财务票据、体检报告、物流单据等各类表单信息,实现业务流程自动化,提升行业信息化水平。

请在此添加图片描述

腾讯云智能结构化OCR提供两种方案,满足不同需求:

基础版: 就像一个通用的文字识别工具,能轻松搞定各种常见文档,比如身份证、银行卡、发票等等,只要文字比较规范,它都能准确识别。

高级版: 如果你需要更强大的功能,高级版就是你的选择。它可以根据你的具体情况定制识别模板,即使是格式复杂、设计独特的文档,它也能轻松应对,特别适合一些对识别精度要求很高的特殊行业。 你可以把它想象成一个私人订制版文字识别专家,能满足你所有个性化需求。

三、 内存模组产品识别需求

简单来说就是:用电脑“看”懂内存条上的信息! 你想想,内存条上那些型号、容量、频率、生厂商等等,密密麻麻的小字,人工一个一个看太费劲了,对吧?

所以需要有一个系统,能快速、准确地从内存条的图片或者视频里,直接把这些关键信息都识别出来。

不过这活儿还真有点难!内存条上的标签往往很小,字体也五花八门,有的字还模糊不清;拍照的时候,光线不好或者角度不对,也会影响识别效果。

但我们希望最后能做到:系统自动把这些信息提取出来,整理成规规矩矩的表格,这样就能方便地用来分析和处理数据了,不用再人工录入,省时省力!

比如这样的图片中提取出标签的所有信息:

请在此添加图片描述

想体验腾讯云智能结构化OCR的强大功能?

  • 了解产品详情及文档: 智能结构化OCR_定制模板OCR_自定义文字识别 点击这里,更多的产品信息和使用说明。
  • 立即体验Demo: OCR Demo — 亲自动手试试,感受OCR的便捷!
  • 限时优惠活动: 文字识别特惠活动_文字识别购买_文字识别选购。

可以点击上面的“了解产品详情及文档”链接,然后在页面找到“立即体验”按钮,开始OCR之旅!

请在此添加图片描述

四、基于腾讯云OCR的内存模组产品识别

玩转腾讯云智能OCR!

4.1、准备工作

第一步: 先登录腾讯云控制台。还没账号?官方提供了账号注册教程 快速完成注册和实名认证。

第二步:开通服务 点击进入文字识别控制台 ,轻松开通服务。开通后如下:

请在此添加图片描述

第三步:根据需求,可以选择以下四种方式之一

  1. 零代码体验: 想快速体验?直接使用文字识别体验Demo,选择“行业文档识别>智能结构化”即可。 注意:此方式仅供体验,每次只能识别一张图片,不适合实际开发。请在此添加图片描述
  2. 在线API调用(初学者友好): 如果你懂HTTP请求和API调用,可以使用API 3.0 Explorer 在线测试API,体验在线调用、签名验证、代码生成等功能。
    请在此添加图片描述
  3. 服务端API开发(开发者): 腾讯云OCR提供了多种语言SDK(Python, Java, C++, PHP, Go, NodeJS, .Net等) ,快速集成文字识别功能。服务端API接入指南 将帮助快速上手。
  4. 客户端SDK集成(移动端开发者): 针对Android和iOS平台,腾讯云OCR提供了客户端SDK,轻松将文字识别功能集成到App中。客户端SDK下载 和客户端Demo 将帮助快速完成集成。

腾讯云API 3.0全新升级的开发者工具套件(SDK 3.0)现已推出,作为C++后端开发工程师,本文首选C++编程语言高效接入腾讯云服务。

4.2、API调用与代码实现

关于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未来的发展方向将是朝着更加智能化、自动化、个性化和普适化的方向发展,最终目标是让OCR技术成为一种简单易用、高效可靠的工具,广泛应用于各个行业和领域。

七、 总结

腾讯云OCR在内存模组产品识别中高效识别芯片型号、容量等关键信息,显著提升了生产效率和数据准确性,减少人工错误。这凸显了其在制造业中的重要意义:实现自动化质检、精细化管理,最终提升产品质量和竞争力。

参考:

  • 腾讯云 智能结构化OCR产品官网
  • 腾讯云 OCR技术文档
  • 腾讯云 OCR API 接口文档
  • 腾讯云 OCR API 在线调用页面
  • 腾讯云 OCR 体验 Demo
  • 腾讯云 Smart OCR 产品页

请在此添加图片描述


http://www.kler.cn/a/465795.html

相关文章:

  • Python自学 - 函数式编程初步(lambda、map、filter)
  • SCAU期末笔记 - 数据库系统概念往年试卷解析
  • 【小程序开发】- 小程序版本迭代指南(版本发布教程)
  • 深度学习中的离群值
  • kafka开机自启失败问题处理
  • 光伏安装在屋顶:安全、环保还是潜在威胁?
  • 只谈C++11新特性 - 内联命名空间
  • 家政预约小程序06活动展示
  • 企业网络综合组网
  • Couchbase 的分布式查询引擎(N1QL Query Engine)
  • Onedrive精神分裂怎么办(有变更却不同步)
  • 日常工作常用命令集合
  • SD下载、安装、使用、卸载-Stable Diffusion整合包v4.10发布!
  • 库伦值自动化功耗测试工具
  • CSS篇之炫酷框
  • 强力巨彩租赁屏:满足市场需求,打造视觉焦点
  • LeetCode2894 分类求和并作并作差
  • 关于mybatis的框架方面的问题
  • 中关村科金智能呼叫中心能为传统呼叫中心带来什么样的变革?
  • 2025.01.02(数据库)
  • form的方法
  • 结构型模式6.享元模式
  • CameraCtrl: Enabling Camera Control forText-to-Video Generation 论文解读
  • Qemu配置QXL显卡支持分辨率
  • 构建一个简单的Promise
  • LQ24fresh