日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

C#中輕松實現二維碼和條形碼識別:OpenCvSharp和ZXing詳細教程

來源: 責編: 時間:2024-06-12 17:32:10 168觀看
導讀概述:本教程使用OpenCvSharp和ZXing庫,詳細介紹了在C#中識別二維碼和條形碼的步驟。通過導入必要的命名空間、加載圖像,并使用ZXing庫進行二維碼和條形碼的識別,提供了清晰的示例代碼。這方便了開發人員在項目中集成二維

xdf28資訊網——每日最新資訊28at.com

概述:本教程使用OpenCvSharp和ZXing庫,詳細介紹了在C#中識別二維碼和條形碼的步驟。通過導入必要的命名空間、加載圖像,并使用ZXing庫進行二維碼和條形碼的識別,提供了清晰的示例代碼。這方便了開發人員在項目中集成二維碼和條形碼識別功能。xdf28資訊網——每日最新資訊28at.com

要使用OpenCvSharp來分別識別二維碼和條形碼,首先需要確保已經安裝了OpenCvSharp庫。你可以通過以下步驟在C#中使用OpenCvSharp來實現這兩種識別。xdf28資訊網——每日最新資訊28at.com

步驟 1:安裝 OpenCvSharp

在 Visual Studio 中,通過 NuGet 包管理器安裝 OpenCvSharp。右擊項目 -> NuGet 包管理器 -> 管理 NuGet 包,搜索 OpenCvSharp 并安裝。xdf28資訊網——每日最新資訊28at.com

步驟 2:導入必要的命名空間

在代碼文件的開頭,導入必要的命名空間。xdf28資訊網——每日最新資訊28at.com

using OpenCvSharp;using OpenCvSharp.Extensions;using ZXing;

步驟 3:加載圖像

加載包含二維碼或條形碼的圖像。xdf28資訊網——每日最新資訊28at.com

Mat image = new Mat("path_to_your_image.jpg");

步驟 4:二維碼識別

使用 ZXing 庫來識別二維碼。xdf28資訊網——每日最新資訊28at.com

/// <summary>        /// 只識別二維碼        /// </summary>        static void DecodeQRCodes()        {            var img = Cv2.ImRead("2.jpg");            string[] qrCodeTexts = null;            //二維碼識別            using (QRCodeDetector qRCodeDetector = new QRCodeDetector())            {                Point2f[] points;                var hasQRCode = qRCodeDetector.DetectMulti(img, out points);                if (hasQRCode)                {                    qRCodeDetector.DecodeMulti(img, points, out qrCodeTexts);                }            }            if (qrCodeTexts != null)            {                Console.WriteLine($"檢測到{qrCodeTexts.Length}個二維碼:");                for (int i = 0; i < qrCodeTexts.Length; i++)                {                    Console.WriteLine($"第{(i + 1)}個的內容為:{qrCodeTexts[i]}");                }            }        }

步驟 5:條形碼識別

使用 ZXing 庫來識別條形碼。xdf28資訊網——每日最新資訊28at.com

/// <summary>        /// 識別條碼(也可以識別二維碼)        /// </summary>        static void DecodeBarCodes()        {            // 讀取圖像            var img = Cv2.ImRead("1.jpg");            BarcodeReader barcodeReader = new BarcodeReader            {                Options = new DecodingOptions                {                    TryHarder = true,                    PossibleFormats = new[]                    {                        BarcodeFormat.CODE_128,                        BarcodeFormat.QR_CODE,//這個是二維碼                        BarcodeFormat.EAN_13,                        BarcodeFormat.EAN_8,                        BarcodeFormat.CODE_39,                        BarcodeFormat.CODE_93                    }                },                AutoRotate = true,            };            // 進行條形碼解碼            var barcodes = barcodeReader.DecodeMultiple(img);            if (barcodes != null)            {                Console.WriteLine($"檢測到{barcodes.Length}個條碼:");                for (int i = 0; i < barcodes.Length; i++)                {                    Console.WriteLine($"第{(i + 1)}個的內容為:{barcodes[i].Text},格式為:{barcodes[i].BarcodeFormat}");                }            }        }

示例代碼

下面是完整的示例代碼,其中包括了加載圖像、二維碼識別和條形碼識別的步驟:xdf28資訊網——每日最新資訊28at.com

using System;using OpenCvSharp;using OpenCvSharp.Extensions;using ZXing;class Program{        static void Main()        {            Action action = () =>            {                DecodeQRCodes();            };            Action action2 = () =>            {                DecodeBarCodes();            };            long executionTime_qrcode = action.GetExecutionTimer();            Console.WriteLine();            long executionTime_barcode = action2.GetExecutionTimer();            Console.WriteLine();            Console.WriteLine($"識別二維碼用時{executionTime_qrcode}毫秒,條件用時{executionTime_barcode}毫秒");            Console.ReadKey();        }}

運行效果:xdf28資訊網——每日最新資訊28at.com

xdf28資訊網——每日最新資訊28at.com

請注意,示例中的路徑 "path_to_your_image.jpg" 應替換為你實際圖像文件的路徑。此外,確保圖像中包含有效的二維碼或條形碼。xdf28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-93370-0.htmlC#中輕松實現二維碼和條形碼識別:OpenCvSharp和ZXing詳細教程

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 基于 Spring Boot 與 WebSocket 實現實時車位管理與狀態更新

下一篇: Next.js 15 來了,全新的編譯器、700倍的構建速度提升

標簽:
  • 熱門焦點
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 如何通過Python線程池實現異步編程?

    線程池的概念和基本原理線程池是一種并發處理機制,它可以在程序啟動時創建一組線程,并將它們置于等待任務的狀態。當任務到達時,線程池中的某個線程會被喚醒并執行任務,執行完任
  • 在線圖片編輯器,支持PSD解析、AI摳圖等

    自從我上次分享一個人開發仿造稿定設計的圖片編輯器到現在,不知不覺已過去一年時間了,期間我經歷了裁員失業、面試找工作碰壁,寒冬下一直沒有很好地履行計劃.....這些就放在日
  • WebRTC.Net庫開發進階,教你實現屏幕共享和多路復用!

    WebRTC.Net庫:讓你的應用更親民友好,實現視頻通話無痛接入! 除了基本用法外,還有一些進階用法可以更好地利用該庫。自定義 STUN/TURN 服務器配置WebRTC.Net 默認使用 Google 的
  • 當家的盒馬,加速謀生

    來源 | 價值星球Planet作者 | 歸去來自己&ldquo;當家&rdquo;的盒馬,開始加速謀生了。據盒馬官微消息,盒馬計劃今年開放生鮮供應鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經與
  • 東方甄選單飛:有些鳥注定是關不住的

    作者:彭寬鴻來源:華爾街科技眼&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;東方甄選創始人俞敏洪帶隊的&ldquo;7天甘肅行&rdquo;直播活動已在近日順利收官。成立后一
  • AI芯片初創公司Tenstorrent獲三星和現代1億美元投資

    Tenstorrent是一家由芯片行業資深人士Jim Keller領導的加拿大初創公司,專注于開發人工智能芯片,該公司周三表示,已經從現代汽車集團和三星投資基金等
  • iQOO Neo8 Pro評測:旗艦雙芯加持 最強性能游戲旗艦

    【Techweb評測】去年10月,iQOO推出了一款Neo7手機,該機搭載了聯發科天璣9000+,配備獨顯芯片Pro+,帶來了同價位段最佳的游戲體驗,一經上市便受到了諸多用
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續還將開展常態化登記。  北京科技教育體驗基
Top 主站蜘蛛池模板: 昭通市| 牟定县| 邮箱| 左权县| 浏阳市| 鄂州市| 湟中县| 灌阳县| 彰化市| 大新县| 禹州市| 巴林右旗| 大化| 英德市| 香港| 黔东| 伽师县| 南城县| 乌什县| 泰顺县| 勐海县| 凤翔县| 麦盖提县| 四子王旗| 丰城市| 建瓯市| 遂昌县| 启东市| 社旗县| 遂平县| 公安县| 南皮县| 盐山县| 曲麻莱县| 广安市| 石门县| 岢岚县| 银川市| 上高县| 陵川县| 遂宁市|