学院网站建设情况总结,体育用品东莞网站建设,中国室内设计师联盟官网,建立网站要多少钱一年一、条形码
函数介绍
create_bar_code_model
* 1.创建条码读取器的模板
* 参数一#xff1a;通用参数的名称#xff0c;针对条形码模型进行调整。默认值为空
* 参数二#xff1a;针对条形码模型进行调整
* 参数三#xff1a;条形码模型的句柄。
create_bar_code_model (…一、条形码
函数介绍
create_bar_code_model
* 1.创建条码读取器的模板
* 参数一通用参数的名称针对条形码模型进行调整。默认值为空
* 参数二针对条形码模型进行调整
* 参数三条形码模型的句柄。
create_bar_code_model ([], [], BarCodeHandle) set_bar_code_param
* 参数一条形码模型的句柄。
* 参数二通用参数的名称针对查找和解码条形码进行了调整
* 参数三通用参数的值
set_bar_code_param (BarCodeHandle, stop_after_result_num, 1)
find_bar_code
* 3.在图像中读取条码数据和数据区域
* 参数一要查找的图片
* 参数二条码数据区域
* 参数三条码模板句柄
* 参数四条码类型
* 参数五读取结果
find_bar_code (ImageReduced2, SymbolRegions, BarCodeHandle, auto, DecodedDataStrings)
效果 代码
* 1.创建条码读取器的模板
* 参数一通用参数的名称针对条形码模型进行调整。默认值为空
* 参数二针对条形码模型进行调整
* 参数三条形码模型的句柄。
create_bar_code_model ([], [], BarCodeHandle)dev_set_color (green)
dev_set_draw (margin)* 2.配置解码方式
* 参数一条形码模型的句柄。
* 参数二通用参数的名称针对查找和解码条形码进行了调整
* 参数三通用参数的值
set_bar_code_param (BarCodeHandle, stop_after_result_num, 1)
read_image (Image, D:/workplace/字符识别/Image_20250114144355733.bmp)
gen_rectangle2 (ROI_0, 2704.8, 2530.15, rad(0.89529), 882.925, 59.4154)
reduce_domain (Image, ROI_0, ImageReduced2)* 用于将显示窗口的大小调整到适合图像大小的尺寸。
dev_resize_window_fit_image (ImageReduced2, 0, 0, -1, -1)* 3.在图像中读取条码数据和数据区域
* 参数一要查找的图片
* 参数二条码数据区域
* 参数三条码模板句柄
* 参数四条码类型
* 参数五读取结果
find_bar_code (ImageReduced2, SymbolRegions, BarCodeHandle, auto, DecodedDataStrings)
area_center (SymbolRegions, Area, Row, Column)dev_close_window ()
dev_open_window (0, 0, 512, 512, black, WindowHandle)
set_display_font (WindowHandle, 16, mono, true, false)
dev_display (Image)
dev_display (SymbolRegions)
disp_message (WindowHandle, DecodedDataStrings, image, Row200, Column-500, black, true)二、二维码
函数介绍
create_data_code_2d_model *创建二维码模型* 创建二维码模型* 参数一二维码类型* 参数二通用参数的名称 针对二维数据代码模型进行了调整。* 参数三针对二维数据代码模型进行了调整。* 参数四数据代码模型的句柄。create_data_code_2d_model (_codeMode[Index1], default_parameters, maximum_recognition, DataCodeHandle) find_data_code_2d *检测二维码最多可以检测到10个* 查找图形中二维码并获取信息* 参数一图片* 参数二围绕成功解码数据的 XLD 轮廓 代码符号。* 参数三二维码模型的句柄。* 参数四参数的名称 控制操作员的行为。* 参数五可选泛型参数的值。* 参数六所有成功解码的二维数据代码的句柄 符号。* 参数七所有检测到的二维数据代码的解码数据字符串 图像中的符号。find_data_code_2d (ImageEmphasize, SymbolXLDs, DataCodeHandle, stop_after_result_num, 10, ResultHandles, \DecodedDataStrings)
效果1 效果2 代码 * 二维码读取
read_image (Image, C:/Users/Albert/Desktop/qr/2.bmp)
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, mono, true, false)
*创建二维码类型列表
_codeMode:[Aztec Code, Data Matrix ECC 200, GS1 Aztec Code, GS1 DataMatrix, \GS1 QR Code, Micro QR Code, PDF417, QR Code]
*图像放大1.5倍
zoom_image_factor (Image, ImageZoomed, 1.5, 1.5, constant)
*图像锐化
emphasize (ImageZoomed, ImageEmphasize, 20, 20, 1)
*遍历二维码类型列表
for Index1 : 0 to |_codeMode| by 1*创建二维码模型* 创建二维码模型* 参数一二维码类型* 参数二通用参数的名称 针对二维数据代码模型进行了调整。* 参数三针对二维数据代码模型进行了调整。* 参数四数据代码模型的句柄。create_data_code_2d_model (_codeMode[Index1], default_parameters, maximum_recognition, DataCodeHandle)*设置超时500msset_data_code_2d_param (DataCodeHandle, timeout, 500)*检测二维码最多可以检测到10个* 查找图形中二维码并获取信息* 参数一图片* 参数二围绕成功解码数据的 XLD 轮廓 代码符号。* 参数三二维码模型的句柄。* 参数四参数的名称 控制操作员的行为。* 参数五可选泛型参数的值。* 参数六所有成功解码的二维数据代码的句柄 符号。* 参数七所有检测到的二维数据代码的解码数据字符串 图像中的符号。find_data_code_2d (ImageEmphasize, SymbolXLDs, DataCodeHandle, stop_after_result_num, 10, ResultHandles, \DecodedDataStrings)*获取当前图像的二维码类型code_type : _codeMode[Index1]*如果检测到图像有二维码就显示在窗体上if (|DecodedDataStrings| 0)disp_message (WindowHandle, code_type:DecodedDataStrings, window, 12, 12, black, true)endif
endfordev_clear_window ()
三、csharpopencv 识别二维码 C#中生成二维码QR码与读取二维码内容_c#将字符串生成二维码图片-CSDN博客 实用主义完全是按照上面这位老哥抄的 gitee如下
OCRQR: 有百度的飞浆 C# opencv、以及其他开源软件的集合
四、全部代码
* 1.创建条码读取器的模板
* 参数一通用参数的名称针对条形码模型进行调整。默认值为空
* 参数二针对条形码模型进行调整
* 参数三条形码模型的句柄。
create_bar_code_model ([], [], BarCodeHandle)dev_set_color (green)
dev_set_draw (margin)* 2.配置解码方式
* 参数一条形码模型的句柄。
* 参数二通用参数的名称针对查找和解码条形码进行了调整
* 参数三通用参数的值
set_bar_code_param (BarCodeHandle, stop_after_result_num, 1)
read_image (Image, D:/workplace/字符识别/Image_20250114144355733.bmp)
gen_rectangle2 (ROI_0, 2704.8, 2530.15, rad(0.89529), 882.925, 59.4154)
reduce_domain (Image, ROI_0, ImageReduced2)* 用于将显示窗口的大小调整到适合图像大小的尺寸。
dev_resize_window_fit_image (ImageReduced2, 0, 0, -1, -1)* 3.在图像中读取条码数据和数据区域
* 参数一要查找的图片
* 参数二条码数据区域
* 参数三条码模板句柄
* 参数四条码类型
* 参数五读取结果
find_bar_code (ImageReduced2, SymbolRegions, BarCodeHandle, auto, DecodedDataStrings)
area_center (SymbolRegions, Area, Row, Column)dev_close_window ()
dev_open_window (0, 0, 512, 512, black, WindowHandle)
set_display_font (WindowHandle, 16, mono, true, false)
dev_display (Image)
dev_display (SymbolRegions)
disp_message (WindowHandle, DecodedDataStrings, image, Row200, Column-500, black, true)* 4.使用完毕删除条码匹配模板read_image (Image1111, D:/workplace/字符识别/1111.jpg)
rgb1_to_gray (Image1111, GrayImage)
gen_rectangle1 (ROI_0, 76.0361, 119.731, 257.755, 779.377)
reduce_domain (GrayImage, ROI_0, ImageReduced)
threshold (ImageReduced, Region, 0, 155)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, [area,contlength], and, [490.84,114.53], [50000,2051.7])
sort_region (SelectedRegions, SortedRegions, first_point, true, row)
read_ocr_class_mlp (Document_0-9A-Z_NoRej.omc, OCRHandle)
do_ocr_multi_class_mlp (SortedRegions, ImageReduced, OCRHandle, Class, Confidence)*汉字识别
read_image (Image22, D:/workplace/字符识别/22.png)
rgb1_to_gray (Image22, GrayImage1)
gen_rectangle1 (ROI_0, 21.3781, 182.366, 148.383, 1159.65)
reduce_domain (GrayImage1, ROI_0, ImageReduced1)
threshold (ImageReduced1, Region1, 128, 255)
closing_circle (Region1, RegionClosing, 3.5)
connection (RegionClosing, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions1, area, and, 150, 99999)
sort_region (SelectedRegions1, SortedRegions1, first_point, true, column)
dev_display (ImageReduced1)
words:[国,外,电,子,与,通,信,教,材,系,列]
for Index : 1 to |words| by 1* 按顺序拿到单个字符select_obj (SortedRegions1, obj, Index)append_ocr_trainf (obj, ImageReduced1, words[Index-1], D:/workplace/字符识别/trainChinese.trf)
endfor*读取训练文件
read_ocr_trainf_names (D:/workplace/字符识别/trainChinese.trf, CharacterNames, CharacterCount)
*创建模型
create_ocr_class_mlp (8, 10, constant, default, CharacterNames, 80, none, 10, 42, OCRHandle1)* 训练模型
trainf_ocr_class_mlp (OCRHandle1, D:/workplace/字符识别/trainChinese.trf, 200, 1, 0.01, Error, ErrorLog)*识别
do_ocr_multi_class_mlp (SortedRegions1, ImageReduced1, OCRHandle1, Class1, Confidence1)* 二维码读取
read_image (Image, C:/Users/Albert/Desktop/qr/1.jpg)
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, mono, true, false)
*创建二维码类型列表
_codeMode:[Aztec Code, Data Matrix ECC 200, GS1 Aztec Code, GS1 DataMatrix, \GS1 QR Code, Micro QR Code, PDF417, QR Code]
*图像放大1.5倍
zoom_image_factor (Image, ImageZoomed, 1.5, 1.5, constant)
*图像锐化
emphasize (ImageZoomed, ImageEmphasize, 20, 20, 1)
*遍历二维码类型列表
for Index1 : 0 to |_codeMode| by 1*创建二维码模型* 创建二维码模型* 参数一二维码类型* 参数二通用参数的名称 针对二维数据代码模型进行了调整。* 参数三针对二维数据代码模型进行了调整。* 参数四数据代码模型的句柄。create_data_code_2d_model (_codeMode[Index1], default_parameters, maximum_recognition, DataCodeHandle)*设置超时500msset_data_code_2d_param (DataCodeHandle, timeout, 500)*检测二维码最多可以检测到10个* 查找图形中二维码并获取信息* 参数一图片* 参数二围绕成功解码数据的 XLD 轮廓 代码符号。* 参数三二维码模型的句柄。* 参数四参数的名称 控制操作员的行为。* 参数五可选泛型参数的值。* 参数六所有成功解码的二维数据代码的句柄 符号。* 参数七所有检测到的二维数据代码的解码数据字符串 图像中的符号。find_data_code_2d (ImageEmphasize, SymbolXLDs, DataCodeHandle, stop_after_result_num, 10, ResultHandles, \DecodedDataStrings)*获取当前图像的二维码类型code_type : _codeMode[Index1]*如果检测到图像有二维码就显示在窗体上if (|DecodedDataStrings| 0)disp_message (WindowHandle, code_type:DecodedDataStrings, window, 12, 12, black, true)endif
endfordev_clear_window ()
stop ()* 1 读取条形码* 创建一个条形码处理模型这里使用默认参数。
create_bar_code_model([], [], BarCodeHandle)
* 设置参数使得在找到第一个条形码后停止搜索因为我们期望每张图像中只有一个条形码。
set_bar_code_param(BarCodeHandle, stop_after_result_num, 1)
* 减少最小代码长度到1个字符因为有些2/5工业条形码可能只有一个数字。
* 注意在实际应用中不推荐这样做因为它可能会导致更多的误读。
set_bar_code_param_specific(BarCodeHandle, 2/5 Industrial, min_code_length, 1)
* 关闭任何已打开的窗口以确保新窗口可以被正确创建。
dev_close_window()
* 打开一个新的图形窗口用于显示处理结果。
* 参数分别是窗口的左上角坐标 (0, 0)宽度 (120)高度 (300)背景颜色 (black)以及返回的窗口句柄 (WindowHandle)。
dev_open_window(0, 0, 120, 300, black, WindowHandle)
* 设置显示字体大小为14字体类型为等宽字体 (mono)加粗 (true)斜体 (false)。
set_display_font(WindowHandle, 14, mono, true, false)
* 设置绘图模式为边距 (margin)这意味着绘制的元素将与窗口边缘保持一定的距离。
dev_set_draw(margin)
* 设置线条宽度为3这将影响绘制的线条或形状的粗细。
dev_set_line_width(3)
* 开始循环迭代4次每次处理一张不同的条形码图像。
for I : 1 to 4 by 1* 构造图像文件路径并读取图像这里的I是一个变量代表当前迭代的次数。* 文件名格式为barcode/25industrial/25industrial0 I例如第一次迭代时会读取25industrial01。read_image(Image, barcode/25industrial/25industrial0 I)* 获取图像的尺寸以便正确设置显示窗口的范围。get_image_size(Image, Width, Height)* 设置窗口的显示区域使图像完整地填充窗口。dev_set_window_extents(0, 0, Width - 1, Height - 1)* 在窗口中显示图像。dev_display(Image)* 设置绘制颜色为绿色。dev_set_color(green)* 配置为不考虑校验字符进行条形码读取。set_bar_code_param(BarCodeHandle, check_char, absent)* 尝试找到并解码条形码返回解码后的字符串。find_bar_code(Image, SymbolRegions, BarCodeHandle, 2/5 Industrial, DecodedDataStrings)* 显示解码后的字符串。disp_message(WindowHandle, DecodedDataStrings, window, 12, 12, black, false)* 计算解码字符串的最后一个字符的位置。LastChar : strlen(DecodedDataStrings) - 1* 显示最后一个字符假设这是校验字符并用森林绿颜色标记。disp_message(WindowHandle, sum(gen_tuple_const(LastChar, )) DecodedDataStrings{LastChar}, window, 12, 12, forest green, false)* 暂停程序执行让用户有时间查看结果。stop()* 现在配置为使用校验字符验证结果。set_bar_code_param(BarCodeHandle, check_char, present)* 再次尝试找到并解码条形码这次包括校验字符的验证。* 如果校验字符不正确条形码读取将会失败。find_bar_code(Image, SymbolRegions, BarCodeHandle, 2/5 Industrial, DecodedDataStrings)* 显示解码后的字符串不包括校验字符。disp_message(WindowHandle, DecodedDataStrings, window, 36, 12, black, false)* 改变绘制颜色为洋红色。dev_set_color(magenta)* 如果不是最后一张图片则暂停等待用户继续。if (I 4)stop()endif
endfor