使用tesseract識別簡單的圖形碼

圖示:

  

運行效果:

  

實現代碼:

  

Add-Type -AssemblyName System.Drawing
function Identify ($path)
{
    $img=[System.Drawing.Bitmap]::FromFile($path)

    for ($i = 0; $i -lt $img.Width; $i++)
    {
        for ($j = 0; $j -lt $img.Height; $j++)
        {
            $_p =$img.GetPixel($i,$j)
            $_pt=($_p.R+$_p.G+$_p.B)/3  #灰度值
            if ($_pt -lt 140) #小於閥值 黑色
            {
                $img.SetPixel($i,$j,[System.Drawing.Color]::FromArgb($_p.A,0,0,0))
             }
             else
             {#大於閥值設為 白色
              $img.SetPixel($i,$j,[System.Drawing.Color]::FromArgb($_p.A,255,255,255))
             }
        }
    }
    $newPath=$path.Substring(0,$path.LastIndexOf(‘.‘))+‘copy1.jpg‘
    $img.Save($newPath)
    tesseract $newPath stdout
    Remove-Item $newPath -Force  #刪除處理後的副本
}

補充:

  下載地址:https://digi.bib.uni-mannheim.de/tesseract/
  argb:ARGB 是一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。

原文地址:https://www.cnblogs.com/feiyucha/p/12040188.html

时间: 2024-10-12 02:16:43

使用tesseract識別簡單的圖形碼的相关文章

FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App

原文:http://www.appcoda.com/fmdb-sqlite-database/ 作者:GABRIEL THEODOROPOULOS 譯者:kmyhy 通常在 App 中使用數據庫并處理數據都會是一個重要和嚴肅的話題.在幾個月前我寫了一篇關於如何利用 SwiftyDB 來管理 SQLite 數據庫的文章.今天,我又提起數據庫這個話題,只不過這次我會介紹另一個庫.你也許聽說過了,它就是FMDB. 這兩個庫的功能都是一樣的,都是用來與 SQLite 數據庫打交道并允許你高效地管理你的

學習 React.js:用 React.js 和 Flux 創建一個簡單的購物車

Creating A Simple Shopping Cart with React.js and Flux Ken Wheeler (@ken_wheeler) 簡介 歡迎來到學習 React 的第四章這也是最後一章!到現在,我們已經學習了怎樣利用 React 的 API 來創建狀態型組件,如何應用它們,以及如何運用臉書的 Flux 架構來工作的 今天我們將把所有的這一切放到一塊,來創建一個簡單的購物車應用.在現在的電商網站上,產品的詳細頁面相互依賴,而 React 有助於簡化並有效的組織它們

【转】簡單講講 USB Human Interface Device

原地址http://213style.blogspot.com/2013/09/usb-human-interface-device.html 恩,發本文的原因是看到了以前畢業的朋友在旁邊的對話框問了一些問題,我想這些問題 不是三言兩語可以解釋完畢,但是我也不想又太細究 HID 內部描述表格的解說與視窗上 HID APIs 家族詳細使用方法,主要以偏向解決問題與實作面上的一些重點,希望可以有些 許幫助,因為詳細的文獻找 USB Complete: The Developer's Guide fo

想升級Eclipse ADT的外掛,升級加速Android模擬器,才知道過程沒那麼簡單

自從Android Studio1.0正式版推出後, 官網只有提供Android Studio的下載, 所以習慣用Eclipse ADT Bundle的人,從此也沒得下載, 這樣一來想用Eclipse開發Android, 就只能:(1)分次各別下載各種外掛, 那種情境就請到官網 https://eclipse.org/downloads/ 下載, 那種情境的流程, 我會另外寫一篇文來說明.或者:2)總不能每次有更新的版本推出時都把用的很習慣的eclipse開發環境給捨棄吧, 更何況如果已經安裝了

转:[ASP.NET]重構之路系列v4 – 簡單使用interface之『你也會IoC』

前言 上次v3版本,我們將Entity, Service, Dao, Utility都放到了類別庫裡面,讓我們可以輕鬆的在不同專案中用同一份組件.雖然文章沒有獲得太多的讚賞,不過相信那一定是太多人會這一招了.如果您已經會了,恭喜你,這是很重要的一步,沒有類別庫,後面我們很多事情都不容易實作出來. 今天要講的運用是interface,相信很多人都還是interface苦手,大部分的人還是卡在『為什麼我要用interface』,當我帶出可惡的PM需求時,大家應該會感同身受,而且覺得相當熟悉.跟著文章

Xamarin.iOS 照相機功能的使用 (1) :最簡單的做法

iOS 提供我們幾種不同的方法使用照相機並且儲存於相簿. Xamarin.iOS 當然也可以很快地使用這樣的方法,使用照相機功能. 在這之前我們可以先稍微了解一下基本結構,如下圖. 若是有DirectX (DirectInput) 或是OpenGL ES 操作經驗的朋友就可以發現基本上的概念並沒有差很多.都是從獲取device開始,到準備好接收輸出的 byte[] 並管理,到決定輸出的格式為何. 我們現在先使用最簡單的 UIImagePickerController 來實現照相機功能 btnUI

[SharePoint 2010] Visual Studio 2010內撰寫視覺化WebPart超簡單

新一代的Visual Studio 2010對於SharePoint 2010的專案撰寫,有非常另人讚賞的改進. 以往寫一個WebPart要搞好多雜七雜八的步驟,也要硬寫HTML輸出,當然有人說可以寫UserControl後再掛在其它的WebPart容器內, 但是也是須要不少工夫去處理它. 現在,這些問題都沒了,簡單的幾個步驟,就可以做出功能強大的WebPart,而且偵錯方法也非常簡單. 新一代的Visual Studio 2010對於SharePoint 2010的專案撰寫,有非常另人讚賞的改

COB(Chip On Board)的製程簡單介紹

前面提及 COB 的生產與 IC 的封裝製程幾乎是一致的,除了把 leadframe 改成了 PCB,把封膠由 molding 改成 dispensing,少了 triming & marking 的動作,其實還少了 plating ,但 plating 其實已經包含在 PCB 的製程中了. 另外,它對環境潔淨度的需求也是滿高的,因為最近 COB 的製程也隨著 IC 的 chip 製程演化而越做越小,因此任何小小的毛屑或是髒東西都可能影響到其焊線的牢靠性,金屬性的沾污更可能導致相鄰焊點間的短路.

IOS基礎_Block語法的簡單使用

開始學IOS的時候沒怎麼接觸過block語句,在後來用到的越來越多,就不得不學了,剛開始理解比較困難的,然後自己做了一個例子就慢慢理解了,www.ios5.online不說廢話了,上代碼: 正常的簡單地申明調用一個block語句是這樣的: //申明 int (^yxpBlock)(int, int) =^(int a ) {return a*a ;}; 說明:返回值(^語句塊名稱)(傳人參數類型)=^(傳人參數){主體}: //調用 int result = square(5); 我建了一個測試