vb编程识别图片中文字

vb编程识别图片中文字,第1张

识别图片里文字的方法,通常称为OCR(Optical Character Recognition,光学字符识别),需要利用非常复杂的模式识别算法才能实现。自己用VB开发OCR程序工作量太大。

可以考虑采用OCR插件,即在电脑上安装OCR控件,然后在VB程序中调用该控件。如WPS,紫光、汉王的OCR系统都带有可调用的控件,但都比较大,而且有使用限制。我曾经用过一个免费的91OCR控件,识别效果还马马虎虎可以。

正则表达式就行了呀,至于怎么写与正则表达式,可以参考站长之家的站长工具里的正则表达式。

代码如下下面是一个函数,判断字符串是否仅由汉字组成:

function ishans(s)

dim regex as object

set regex=createobject("vbscript.regexp")

regex.global=true

regex.pattern="^[\u2e80-\ufe4f]+$"

'这个pattern就是正则表达式

ishans=regex.test(s)

set regex=nothing

end function

可以用建立辅助列、多条件统计公式、向下填充的方法解决。特别指出:“向下填充”方法速度很快。代码如下:

Sub 查找重复行()

Dim a As Integer

Dim i As Integer

Dim str As String

a = Range("a65536").End(xlUp).Row '计算数据行数

Cells(1, 255).FormulaArray = "=SUM(IF($A$1:$A$" &a &"=A1,IF($B$1:$B$" &a &"=B1 ,1,0)))" '在辅助列上写入多条件统计公式

Cells(1, 255).Resize(a, 1).Select '选择辅助列

Selection.FillDown '向下填充

Cells(1, 1).Select

For i = 1 To a

If Cells(i, 255).Value >1 Then

Cells(i, 1).Resize(1, 2).Interior.Color = 255

str = str &i &","

End If

Next i

Cells(1, 255).Resize(a, 1).Clear '清除辅助列

str = Mid(str, 1, Len(str) - 1) '去掉str最后一个“,”号

MsgBox "第" &str &"行重复。"

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11193338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存