騰訊雲OCR圖片文字識別

1、 OCR

OCR (Optical Character Recognition,光學字符識別)是指電子設備(例如掃描儀或數碼相機)檢查紙上打印的字符,經過檢測暗、亮的模式肯定其形狀,而後用字符識別方法將形狀翻譯成計算機文字的過程;

-- 來自百度

2、騰訊雲OCR

基於騰訊自研的深度學習技術和海量的數據,提供卡證、票據類印刷體和手寫體、自定義模板等多種場景和類型的文字識別服務。

3、接口對接

說明:基於 spring boot 的接口對接java

一、添加開發的SDK

<dependency>
  <groupId>com.qcloud</groupId>
  <artifactId>qcloud-image-sdk</artifactId>
  <version>2.3.6</version>
</dependency>

二、編寫工具類

注意:此接口對接版本有點低,如今的sdk是2.0了,不過這個工具類是能夠正常食用的。2.0的sdk能夠官方給出的文檔 傳送門git

import com.qcloud.image.ImageClient;
import com.qcloud.image.exception.AbstractImageException;
import com.qcloud.image.request.*;
import java.io.File;

/**
 * 騰訊雲Ocr文字識別
 *
 * @author lixingwu
 */
public class OcrUtil {
    /*配置參數爲空,請自行填寫*/
    private static final String APP_ID = "";
    private static final String SECRET_ID = "";
    private static final String SECRET_KEY = "";
    private static final String BUCKET_NAME = "";
    private static final ImageClient IMAGECLIENT = new ImageClient(APP_ID, SECRET_ID, SECRET_KEY, ImageClient.NEW_DOMAIN_recognition_image_myqcloud_com);

    /**
     * 方法描述:識別身份證URL方式.
     * 建立時間:2018-12-19 11:54:36
     *
     * @param url      圖片地址
     * @param cardType 0正面,1反面
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrIdCardUrl(String url, Integer cardType) {
        String ret = null;
        String[] idcardUrlList = new String[]{url};
        IdcardDetectRequest idReq = new IdcardDetectRequest(BUCKET_NAME, idcardUrlList, cardType);
        try {
            ret = IMAGECLIENT.idcardDetect(idReq);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:識別身份證path方式.
     * 建立時間:2018-12-19 11:54:36
     *
     * @param path     圖片路徑
     * @param cardType 0正面,1反面
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrIdCardPath(String path, Integer cardType) {
        String ret = null;
        File[] idcardUrlList = new File[]{new File(path)};
        IdcardDetectRequest idReq = new IdcardDetectRequest(BUCKET_NAME, idcardUrlList, cardType);
        try {
            ret = IMAGECLIENT.idcardDetect(idReq);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:駕駛證識別URL方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param url 圖片地址
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrDrivingLicenceUrl(String url) {
        String ret = null;
        OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_DRIVER_LICENSE, url);
        try {
            ret = IMAGECLIENT.ocrDrivingLicence(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:駕駛證識別path方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param path 圖片路徑
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrDrivingLicencePath(String path) {
        String ret = null;
        File file = new File(path);
        OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_DRIVER_LICENSE, file);
        try {
            ret = IMAGECLIENT.ocrDrivingLicence(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:行駛證識別URL方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param url 圖片地址
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrVehicleLicenceUrl(String url) {
        String ret = null;
        OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_VEHICLE_LICENSE, url);
        try {
            ret = IMAGECLIENT.ocrDrivingLicence(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:行駛證識別path方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param path 圖片路徑
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrVehicleLicencePath(String path) {
        String ret = null;
        File file = new File(path);
        OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_VEHICLE_LICENSE, file);
        try {
            ret = IMAGECLIENT.ocrDrivingLicence(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:車牌識別URL方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param url 圖片地址
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrPlateUrl(String url) {
        String ret = null;
        OcrPlateRequest request = new OcrPlateRequest(BUCKET_NAME, url);
        try {
            ret = IMAGECLIENT.ocrPlate(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:車牌識別path方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param path 圖片路徑
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrPlatePath(String path) {
        String ret = null;
        File file = new File(path);
        OcrPlateRequest request = new OcrPlateRequest(BUCKET_NAME, file);
        try {
            ret = IMAGECLIENT.ocrPlate(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:營業執照識別URL方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param url 圖片地址
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrBizLicenseUrl(String url) {
        String ret = null;
        OcrBizLicenseRequest request = new OcrBizLicenseRequest(BUCKET_NAME, url);
        try {
            ret = IMAGECLIENT.ocrBizLicense(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:營業執照識別path方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param path 圖片路徑
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrBizLicensePath(String path) {
        String ret = null;
        File file = new File(path);
        OcrBizLicenseRequest request = new OcrBizLicenseRequest(BUCKET_NAME, file);
        try {
            ret = IMAGECLIENT.ocrBizLicense(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:銀行卡識別URL方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param url 圖片地址
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrBankCardUrl(String url) {
        String ret = null;
        OcrBankCardRequest request = new OcrBankCardRequest(BUCKET_NAME, url);
        try {
            ret = IMAGECLIENT.ocrBankCard(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:銀行卡識別path方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param path 圖片路徑
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrBankCardPath(String path) {
        String ret = null;
        File file = new File(path);
        OcrBankCardRequest request = new OcrBankCardRequest(BUCKET_NAME, file);
        try {
            ret = IMAGECLIENT.ocrBankCard(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:通用印刷體識別URL方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param url 圖片地址
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrGeneralUrl(String url) {
        String ret = null;
        GeneralOcrRequest request = new GeneralOcrRequest(BUCKET_NAME, url);
        try {
            ret = IMAGECLIENT.generalOcr(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }

    /**
     * 方法描述:通用印刷體識別URL方式.
     * 建立時間:2018-12-19 12:52:27
     *
     * @param path 圖片路徑
     * @return the string
     * @author "lixingwu"
     */
    public static String ocrGeneralPath(String path) {
        String ret = null;
        File file = new File(path);
        GeneralOcrRequest request = new GeneralOcrRequest(BUCKET_NAME, file);
        try {
            ret = IMAGECLIENT.generalOcr(request);
        } catch (AbstractImageException e) {
            e.printStackTrace();
        }
        return ret;
    }
}

三、天氣太熱了

上面的工具類只是簡單的說了一下,若是項目須要用到,得本身去測試,等我那天心情好了再說詳細了點。github

相關文章
相關標籤/搜索