图像字符识别代码详解:从读取图像到显示识别结果
这段代码的功能是对一张图像进行字符识别并显示识别结果。
-
read_image(Image,'D:/screenshot20230919.png')- 从指定路径读取图像并将其存储在名为Image的变量中。 -
decompose3(Image,ImageR,ImageG,ImageB)- 将彩色图像分解为红色通道(ImageR)、绿色通道(ImageG)和蓝色通道(ImageB)。 -
threshold(ImageG,Region,120,255)- 对绿色通道图像进行阈值处理,将亮度大于120的像素设置为255,其余像素设置为0,并将结果保存在名为Region的变量中。 -
connection(Region,ConnectedRegions)- 对二值化后的图像进行连通区域分析,将图像中的连接区域提取出来,并将结果保存在名为ConnectedRegions的变量中。 -
select_shape(ConnectedRegions,SelectedRegions,['area','width','height'],'and',[150,15,22],[245,18,25])- 根据区域的面积、宽度和高度,筛选出满足一定条件的区域,并将结果保存在名为SelectedRegions的变量中。 -
count_obj(SelectedRegions, Number)- 统计选定区域的数量,并将结果保存在名为Number的变量中。 -
invert_image(ImageG, ImageInvert)- 对绿色通道图像进行黑白反转。 -
sort_region(SelectedRegions, SortedRegions, 'character', 'true', 'row')- 根据字符特征和行顺序对选定区域进行排序,并将结果保存在名为SortedRegions的变量中。 -
smallest_rectangle1(SortedRegions, Row1, Column1, Row2, Column2)- 在排序后的区域中找到最小的矩形框,并返回其左上角和右下角的坐标。 -
cr:=(Row1+Row2)/2.0- 计算矩形框的中心行坐标。 -
cc:=(Column1+Column2)/2.0- 计算矩形框的中心列坐标。 -
len1:=abs(Row2-Row1)/2.0- 计算矩形框的半高。 -
len2:=abs(Column2-Column1)/2.0- 计算矩形框的半宽。 -
phi:=gen_tuple_const(|len2|,0)- 创建一个与宽度相关的常数列表。 -
gen_rectangle2_contour_xld(box,cr,cc,phi,len2,len1)- 根据矩形框的参数生成一个轮廓。 -
read_ocr_class_mlp('Document_0-9A-Z_NoRej.omc',OCRHandle)- 从指定文件中读取字符模型,并将其保存在名为OCRHandle的变量中。 -
do_ocr_multi_class_mlp(SortedRegions, ImageInvert, OCRHandle, Class, Confidence)- 对排序后的区域进行字符识别,将识别结果保存在名为Class的变量中,并将置信度保存在名为Confidence的变量中。 -
dev_display(Image)- 在图像窗口中显示原始图像。 -
dev_display(box)- 在图像窗口中显示带有矩形框的图像。 -
dev_get_window(WindowHandle)- 获取图像窗口的句柄。 -
set_display_font(WindowHandle, 18, 'mono', 'true', 'false')- 设置图像窗口的显示字体。 -
disp_message(WindowHandle,'识别结果'+sum(Class),'image',12,12,'black', 'true')- 在图像窗口中显示识别结果。 -
clear_ocr_class_mlp(OCRHandle)- 清除字符模型的变量。
原文地址: https://www.cveoy.top/t/topic/fyY8 著作权归作者所有。请勿转载和采集!