最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C#校驗畫布簽名圖片是否為空白

 更新時間:2024年11月20日 08:40:39   作者:初九之潛龍勿用  
這篇文章主要為大家詳細介紹了如何使用C#校驗畫布簽名圖片是否為空白,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

需求分析

我的文章《C# WinForm實現(xiàn)畫筆簽名及解決MemoryBmp格式問題》主要介紹如何通過 C# WinForm 通過畫布畫筆實現(xiàn)手寫簽名,簽名后的圖片將根據(jù)需要保存在數(shù)據(jù)庫中,現(xiàn)有一需求,即判斷用戶是否在畫布上進行了簽名,是否有值。我們可以通過如下方法進行判斷或聯(lián)合判斷:

(1)對生成的目標圖片進行像素顏色值判斷,是否為純白色的圖片(應用程序默認的畫布即為純白色背景圖片),如果有一個像素不是純白色即為有值。

(2)在應用生成的默認目標圖片,如果未簽名的話,樣例輸出為6K字節(jié)大小,我們將以此為基準判斷簽名后的合理字節(jié)大小值,如下圖:

通過合理樣例統(tǒng)計,簽過名的圖片大小基本在10K字節(jié)以上,因此通過簡單的大小比對方式也可以判斷圖片中是否有值(簽名)。

(3)通過 PaddleOCRSharp 庫對生成的目標圖片進行文字識別,如果能夠提取到文字,則也可以判斷圖片中是否有值(簽名)。

開發(fā)運行環(huán)境

操作系統(tǒng): Windows Server 2019 DataCenter

手寫觸屏設備:Microsoft Surface Pro 9

.net版本: .netFramework4.7.2 

開發(fā)工具:VS2019  C#

實現(xiàn)

假設有目標生成圖片地址為 d:\white1.jpg

像素值判斷法

示例代碼如下:

System.Drawing.Bitmap validImage = new System.Drawing.Bitmap("d:\\white1.jpg");
bool isWhite = true;
for (int x = 0; x < validImage.Width; x++)
{
     for (int y = 0; y < validImage.Height; y++)
     {
          System.Drawing.Color color = validImage.GetPixel(x, y);
          if (color.R != 255||color.G!=255||color.B!=255)
          {
              isWhite = false;
              break;
          }
     }
     if (isWhite == false)
     {
         break;
     }
 
}
MessageBox.Show(isWhite.ToString());
validImage.Dispose();

讀取目標圖片,遍歷每一個像素值,如果某一個像素不是純白色,即退出循環(huán)。 

文件大小判斷法

示例代碼如下:

FileInfo fileInfo = new FileInfo("d:\\white1.jpg");
long fileSize = fileInfo.Length;
if(fileSize<10000)
MessageBox.Show("未簽名");

OCR識別法

可參閱我的文章 《C# 關于 PaddleOCRSharp OCR識別的疲勞測試》,示例代碼如下:

OCRModelConfig config = null;
OCRParameter oCRParameter = new OCRParameter();
PaddleOCREngine engi = null;
OCRResult ocrResult = new OCRResult();
var imagebyte = File.ReadAllBytes("d:\\white1.jpg");
 
    oCRParameter.cpu_math_library_num_threads = 10;// 預測并發(fā)線程數(shù)
    oCRParameter.enable_mkldnn = false; // web部署該值建議設置為0,否則出錯,內存如果使用很大,建議該值也設置為0.
    oCRParameter.cls = false; // 是否執(zhí)行文字方向分類;默認false
    oCRParameter.use_angle_cls = false; // 是否開啟方向檢測,用于檢測識別180旋轉
    oCRParameter.det_db_score_mode = false; // 是否使用多段線,即文字區(qū)域是用多段線還是用矩形
    oCRParameter.det_db_unclip_ratio = 1.6f;
            
engi = new PaddleOCREngine(config, oCRParameter);
 
ocrResult = engi.DetectText(imagebyte);
string ocrText="";
if (ocrResult != null)
{
   ocrText=ocrResult.Text;
}
if(ocrText=="")
   MessageBox.Show("未識別出文字");

小結

本示例是結合應用實例的舉例,判斷圖片是否有值或簽名,可能需要聯(lián)合判斷或按照您實際的情況進行應用開發(fā),如基礎空白圖片的特質,大小等。

到此這篇關于使用C#校驗畫布簽名圖片是否為空白的文章就介紹到這了,更多相關C#校驗畫布簽名是否空白內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C#?設置Chart的X軸為時間軸???????詳情

    C#?設置Chart的X軸為時間軸???????詳情

    這篇文章主要介紹了C#設置Chart的X軸為時間軸???????詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 使用C#代碼在PDF文檔添加頁碼的操作指南

    使用C#代碼在PDF文檔添加頁碼的操作指南

    向 PDF 文檔添加頁碼不僅實用,而且具有美觀效果,因為它能使文檔呈現(xiàn)出類似專業(yè)出版物的精致外觀,在本文中,您將學習如何在 C# 中使用 Spire.PDF for .NET 向 PDF 文檔添加頁碼,需要的朋友可以參考下
    2025-11-11
  • 關于C#程序優(yōu)化的五十種方法

    關于C#程序優(yōu)化的五十種方法

    這篇文章主要介紹了C#程序優(yōu)化的五十個需要注意的地方,使用c#開發(fā)的朋友可以看下
    2013-09-09
  • Quartz.Net任務和觸發(fā)器實現(xiàn)方法詳解

    Quartz.Net任務和觸發(fā)器實現(xiàn)方法詳解

    這篇文章主要介紹了Quartz.Net任務和觸發(fā)器實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • WPF實現(xiàn)在控件上顯示Loading等待動畫的方法詳解

    WPF實現(xiàn)在控件上顯示Loading等待動畫的方法詳解

    這篇文章主要介紹了WPF 如何在控件上顯示 Loading 等待動畫,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的可以參考一下
    2023-03-03
  • C#編寫游戲客戶端的實現(xiàn)代碼

    C#編寫游戲客戶端的實現(xiàn)代碼

    這篇文章主要介紹了C#編寫游戲客戶端的實現(xiàn)代碼,連接客戶端原理流程圖,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • C#判別ASCII碼和十六進制的實現(xiàn)方法詳解

    C#判別ASCII碼和十六進制的實現(xiàn)方法詳解

    ASCII碼是一種基于拉丁字母的字符編碼系統(tǒng),十六進制Hexadecimal是計算機領域最常用的數(shù)制表示法,下面我們就來看看如何使用C#判別ASCII碼和十六進制吧
    2026-04-04
  • 解決unity3d導入模型貼圖材質丟失的問題

    解決unity3d導入模型貼圖材質丟失的問題

    這篇文章主要介紹了解決unity3d導入模型貼圖材質丟失的問題,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C#實現(xiàn)讀取匿名對象屬性值的方法示例總結

    C#實現(xiàn)讀取匿名對象屬性值的方法示例總結

    這篇文章主要介紹了C#實現(xiàn)讀取匿名對象屬性值的方法,結合實例形式總結分析了C#通過反射、轉換等方法讀取匿名對象屬性值的相關操作技巧,需要的朋友可以參考下
    2020-03-03
  • C# 基礎入門--注釋

    C# 基礎入門--注釋

    本文主要介紹了C#中注釋的相關知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03

最新評論

乌鲁木齐县| 广饶县| 玛多县| 中超| 洪江市| 洪湖市| 民丰县| 静乐县| 长寿区| 杨浦区| 阜平县| 孙吴县| 共和县| 河东区| 云和县| 泗洪县| 大悟县| 皋兰县| 喀喇沁旗| 曲松县| 德清县| 松江区| 观塘区| 南川市| 梁平县| 白山市| 大关县| 肥乡县| 长春市| 屏东县| 屏边| 普洱| 文登市| 深州市| 日喀则市| 新密市| 阿拉善右旗| 石家庄市| 墨竹工卡县| 孟州市| 繁昌县|