halcon 条形码、二维码识别、opencv识别
一、条形码
函数介绍
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', Row+200, 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', Row+200, 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
相关文章:

halcon 条形码、二维码识别、opencv识别
一、条形码 函数介绍 create_bar_code_model * 1.创建条码读取器的模板 * 参数一:通用参数的名称,针对条形码模型进行调整。默认值为空 * 参数二:针对条形码模型进行调整 * 参数三:条形码模型的句柄。 create_bar_code_model (…...

Vue框架的使用 搭建打包 Vue的安全问题(Xss,源码泄露)
前言 什么是Vue? Vue是轻量级的js框架 可以帮助我们一键构造网站,打包app程序等 Vue的基本使用 1、构造框架并启用 新建一个 目录 使用终端切换到当前的目录 创建vue项目 第一个弹出使用语法我们选择是 剩下的全选择否 发现创建好了 接着进行…...

Java+SpringBoot+Vue+数据可视化的音乐推荐与可视化平台(程序+论文+讲解+安装+调试+售后)
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统介绍 在互联网技术以日新月异之势迅猛发展的浪潮下,5G 通信技术的普及、云计算能力…...

day2 - SpringBoot框架开发技术
主要内容 1. SpringBoot简介 2. 构建springboot工程 3. springboot接口返回json 4. springboot热部署 5. springboot资源属性配置 6. springboot整合模板引擎 7. springboot异常处理 8. springboot整合MyBatis 9. springboot整合redis 10. springboot整合定时任务 11. springbo…...

Flash-03
1-问题:Flash软件画两个图形,若有部分重合则变为一个整体 解决方法1:两个图形分属于不同的图层 解决方法2:将每个图形都转化为【元件】 问题2:元件是什么? 在 Adobe Flash(现在称为 Adobe Anim…...

新建菜单项的创建之CmpGetValueListFromCache函数分析
第一部分: PCELL_DATA CmpGetValueListFromCache( IN PHHIVE Hive, IN PCACHED_CHILD_LIST ChildList, OUT BOOLEAN *IndexCached, OUT PHCELL_INDEX ValueListToRelease ) 0: kd> dv KeyControlBlock 0xe1…...

【Word2Vec】Skip-gram 的直观理解(深入浅出)
01 什么是skip-gram 一句话来说就是,给定中心词,然后预测其周围的词: 02 模型结构 对于skip-gram来说,输入是一个[1 x V]维的ont-hot向量,其中V为词表大小,值为1的那一项就表示我们的中心词。经过一个[V x…...

在MacOS上打造本地部署的大模型知识库(一)
一、在MacOS上安装Ollama docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 最后停掉Docker的ollama,就能在webui中加载llama模…...

(21)从strerror到strtok:解码C语言字符函数的“生存指南2”
❤个人主页:折枝寄北的博客 ❤专栏位置:简单入手C语言专栏 目录 前言1. 错误信息报告1.1 strerror 2. 字符操作2.1 字符分类函数2.2 字符转换函数 3. 内存操作函数3.1 memcpy3.2 memmove3.2memset3.3 memcmp 感谢您的阅读 前言 当你写下strcpy(dest, s…...

DeepSeek推出DeepEP:首个开源EP通信库,让MoE模型训练与推理起飞!
今天,DeepSeek 在继 FlashMLA 之后,推出了第二个 OpenSourceWeek 开源项目——DeepEP。 作为首个专为MoE(Mixture-of-Experts)训练与推理设计的开源 EP 通信库,DeepEP 在EP(Expert Parallelism)…...

1.2 Kaggle大白话:Eedi竞赛Transformer框架解决方案02-GPT_4o生成训练集缺失数据
目录 0. 本栏目竞赛汇总表1. 本文主旨2. AI工程架构3. 数据预处理模块3.1 配置数据路径和处理参数3.2 配置API参数3.3 配置输出路径 4. AI并行处理模块4.1 定义LLM客户端类4.2 定义数据处理函数4.3 定义JSON保存函数4.4 定义数据分片函数4.5 定义分片处理函数4.5 定义文件名排序…...

数据结构-顺序表专题
大家好!这里是摆子,今天给大家带来的是C语言数据结构开端-顺序表专题,主要介绍了数据结构和动态顺序表的实现,快来看看吧!记得一键三连哦! 1.数据结构的概念 1.1什么是数据结构? 数据结构是计…...
docker和containerd从TLS harbor拉取镜像
私有镜像仓库配置了自签名证书,https访问,好处是不需要处理免费证书和付费证书带来的证书文件变更,证书文件变更后需要重启服务,自签名证书需要将一套客户端证书存放在/etc/docker/cert.d目录下,或者/etc/containerd/c…...

kafka-关于ISR-概述
一. 什么是ISR ? Kafka 中通常每个分区都有多个副本,其中一个副本被选举为 Leader,其他副本为 Follower。ISR 是指与 Leader 副本保持同步的 Follower 副本集合。ISR 机制的核心是确保数据在多个副本之间的一致性和可靠性,同时在 …...

el-input实现金额输入
需求:想要实现一个输入金额的el-input,限制只能输入数字和一个小数点。失焦数字转千分位,聚焦转为数字,超过最大值,红字提示 效果图 失焦 聚焦 报错效果 // 组件limitDialog <template><el-dialog:visible.s…...
C++11智能指针
一、指针管理的困境 资源释放了,但指针没有置空(野指针、指针悬挂、踩内存) 没有释放资源,产生内存泄漏问题;重复释放资源,引发coredump 二、智能指针...

安装Git(小白也会装)
一、官网下载:Git 1.依次点击(红框) 不要安装在C盘了,要炸了!!! 后面都 使用默认就好了,不用改,直接Next! 直到这里,选第一个 这两种选项的区别如…...

驭势科技9周年:怀揣理想,踏浪前行
2025年的2月,驭势科技迎来9岁生日。位于国内外不同工作地的Uiseeker齐聚线上线下,共同庆祝驭势走过的璀璨九年。 驭势科技联合创始人、董事长兼CEO吴甘沙现场分享了驭势9年的奔赴之路,每一段故事都包含着坚持与拼搏。 左右滑动查看更多 Part.…...

一款在手机上制作电子表格
今天给大家分享一款在手机上制作电子表格的,免费好用的Exce1表格软件,让工作变得更加简单。 1 软件介绍 Exce1是一款手机制作表格的办公软件,您可以使用手机exce1在线制作表格、工资表、编辑xlsx和xls表格文件等,还可以学习使用…...
Python解决“比赛配对”问题
Python解决“比赛配对”问题 问题描述测试样例解决思路代码 问题描述 小R正在组织一个比赛,比赛中有 n 支队伍参赛。比赛遵循以下独特的赛制: 如果当前队伍数为 偶数,那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛,…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...