Halcon: (示例 1)OCR 字符识别

2023-11-02

目录

示例 

涉及算子描述

text_line_orientation

hom_mat2d_identity

hom_mat2d_rotate

affine_trans_image

dots_image

reduce_domain

vector_angle_to_rigid

binary_threshold

dilation_rectangle1

union1

shape_trans

partition_rectangle

intersection

partition_dynamic

sort_region

append_ocr_trainf

read_ocr_trainf_names

create_ocr_class_svm

trainf_ocr_class_svm

do_ocr_multi_class_svm


示例 

dev_close_window ()
dev_open_window(0, 0, 600, 600, 'black', WindowHandle)
read_image (Image, 'E:/workspace/Halcon/案例/OCR 识别/20190814180102269.png')
disp_message (WindowHandle, '请绘制单个字体最大区域', 'window', 12, 12, 'blue', 'true')
draw_rectangle1 (WindowHandle, Rowh, Columnh,  Rowh2, Columnh2)
gen_rectangle1 (Rectangleh, Rowh, Columnh,  Rowh2, Columnh2)
fontheight := Columnh2-Columnh
fontweight := Rowh2 - Rowh
dev_clear_window ()
read_image (Image, 'E:/workspace/Halcon/案例/OCR 识别/20190814180102269.png')
* ROI 定位
draw_rectangle1 (WindowHandle,  Row, Column,  Row2, Column2)
gen_rectangle1 (Rectangle, Row, Column,  Row2, Column2)
px := Column + (Column2 - Column)/2
py := Row + (Row2-Row)/2
* ROI 校正
area_center (Rectangle, Area, Row1, Column1)
text_line_orientation (Rectangle, Image, fontheight, -0.523599, 0.523599, OrientationAngle)
*hom_mat2d_identity (HomMat2DIdentity)
*hom_mat2d_rotate (HomMat2DIdentity, -OrientationAngle, px, py, HomMat2DRotate)
vector_angle_to_rigid (Row1, Column1, OrientationAngle, Row1, Column1, 0, HomMat2DRotate)
affine_trans_image (Image, ImageAffineTrans, HomMat2DRotate, 'constant', 'false')
affine_trans_region (Image, RegionAffineTrans, HomMat2DRotate, 'nearest_neighbor')
* 字符分割
reduce_domain (ImageAffineTrans, RegionAffineTrans, ImageReduced1)
dots_image (ImageReduced1, DotImage, 3, 'dark', 0)
threshold (DotImage, Regions, 10, 255)
connection (Regions, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions2, ['row','column'], 'and', [(Row-fontheight),(Column-fontheight)], [Row2+fontheight,(Column2+fontheight)])
* binary_threshold (DotImage, Region, 'max_separability', 'light', UsedThreshold)
*dilation_rectangle1 (Region, RegionDilation, 5, 5)
* 膨胀闭运算
dilation_rectangle1 (SelectedRegions2, RegionDilation, 1, 2.5)
union1 (RegionDilation, RegionUnion)
gen_rectangle2 (Rectangle3, 30, 32, rad(-45), 0, 1)
closing (RegionUnion, Rectangle3, RegionClosing3)
gen_rectangle2 (Rectangle2, 16, 16, rad(45), 0, 1)
closing (RegionClosing3, Rectangle2, RegionClosing2)
gen_rectangle2 (Rectangle3, 16, 16, rad(0), 0, 1)
closing (RegionClosing2, Rectangle3, RegionClosing1)
connection (RegionClosing1, ConnectedRegions)

select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 100, fontweight*fontheight)
* 字符训练识别
partition_dynamic(SelectedRegions, Partitioned, 45, 85)
sort_region (Partitioned, SortedRegions,  'character', 'true', 'row')
*intersection (Partitioned, Region, RegionIntersection)
count_obj (SortedRegions, Number)
dev_display (ImageAffineTrans)
Classes := ['2','0','1','6','0','7','1','3','6','G','1','2','A','1','5','3','6','B']
trainfFile := 'E:/workspace/Halcon/案例/OCR 识别/svm.trf'
for i := 1 to Number by 1
    dev_set_color ('red')
    select_obj (SortedRegions, Char, i)
    intersection (Char, Regions, RegionIntersection)
    dev_display (Char)
    * 创建分类器进行训练
    append_ocr_trainf (RegionIntersection, ImageAffineTrans, Classes[i-1], trainfFile)
endfor
* SVM 分类器分类识别
intersection (SortedRegions, Regions, RegionIntersection2)
dev_display (ImageAffineTrans)
dev_set_colored (6)
read_ocr_trainf_names (trainfFile, CharacterNames, CharacterCount)
create_ocr_class_svm (8, 10, 'constant', 'default', CharacterNames, 'rbf', 0.02, 0.001, \
                      'one-versus-one', 'normalization', 10, OCRHandle)
trainf_ocr_class_svm (OCRHandle, trainfFile, 0.001, 'default')
do_ocr_multi_class_svm (RegionIntersection2, ImageAffineTrans, OCRHandle, Class)
smallest_rectangle1 (RegionIntersection2, Row11, Column11, Row22, Column22)
for i := 1 to Number by 1
    disp_message (WindowHandle, Class[i-1], 'image', Row22[i-1]+100, Column11[i-1]+(Column22[i-1]-Column11[i-1])/2, 'red', 'false')
endfor

clear_ocr_class_svm (OCRHandle)

涉及算子描述

text_line_orientation

  • 确定文本行或段落的方向
text_line_orientation (ROI_0, Image, 25, -0.523599, 0.523599, OrientationAngle)
  1. Region 参数指定图像中文本行所在的区域。区域仅用于减少工作面积。为了确定倾斜度,使用该区域内的灰色值;

  2. CharHeight 指定区域 region 中现有文本行的大约高度;

  3. OrientationFrom 和 OrientationTo 的范围应该在 -pi/4 到 pi/4 的区间内;

  4. 计算出的角度 OrientationAngle。

hom_mat2d_identity

  • 生成相同二维变换的齐次变换矩阵
hom_mat2d_identity (HomMat2DIdentity)
  1. 生成描述相同二维变换的齐次变换矩阵 HomMat2DIdentity

hom_mat2d_rotate

  • 对齐次二维变换矩阵添加一个旋转
hom_mat2d_rotate (HomMat2DIdentity, OrientationAngle, 0, 0, HomMat2DRotate)
  1. 点(Px,Py)是变换的不动点,即使用HomMat2DRotate进行变换时,该点保持不变;

  2. 对齐次二维变换矩阵 HomMat2DIdentity 加上一个角度的旋转,并在HomMat2DRotate中返回得到的矩阵 HomMat2DRotate;

affine_trans_image

  • 对图像应用任意仿射二维变换
affine_trans_image (Image, ImageAffineTrans, HomMat2DRotate, 'constant','false')
  1. 将输入图像 Image 进行仿射 2D 转换,输出转换后的图像 ImageAffineTrans;

  2. 通过输入的 HomMat2DRotate 给出的同次变换矩阵描述,以插值的类型('bicubic', 'bilinear', 'constant', 'nearest_neighbor', 'weighted')(默认 constant)对图像结果调整大小确认(默认 false)。

dots_image

  • 点图像
dots_image (ImageAffineTrans, DotImage, 11, 'dark', 0)
  1. 增强输入图像中直径的圆形圆点;

  2. 将输入图像进行点圆形直径增加 Diameter (默认为 5);

  3. FilterType 选择图像中的“暗点”、“亮点”或“所有”点是否应该增强;

  4. PixelShift 既可以用来增加输出图像的对比度(PixelShift > 0),也可以用来抑制将被切断的极亮区域的值(PixelShift = -1)。

reduce_domain

  • 缩小图像的域
reduce_domain (DotImage, ROI_0, ImageReduced)
  1. 将给定图像的定义域缩小到指定的区域;

  2. 新的定义域计算为旧定义域与区域的交集。

  3. 新的定义域可以是区域的子集。矩阵的大小没有改变。

vector_angle_to_rigid

  • 从点和角度计算刚性仿射变换
vector_angle_to_rigid (Row1,Column1,OrientationAngle, Row1,Column1,0, HomMat2D)
  1. 计算一个刚性仿射变换,即一个由旋转和平移组成的变换,从一个点对应关系和两个对应角度出发,返回齐次变换矩阵 HomMat2D;

  2. 原点的坐标 (Row1,Column1) 和对应角度 OrientationAngle,转换点的坐标 (Row2,Column2)和对应的角度 Angle2。

binary_threshold

  • 使用二进制阈值分割图像
binary_threshold (DotImage, Region, 'max_separability', 'light', UsedThreshold)
  1. 使用自动确定的全局阈值分割单通道图像,并在 region 中返回分割的区域;

  2. 'max_separability'和'smooth_histo'。这两种方法只能用于具有双峰直方图的图像;

  3. 分割方法 'smooth_histo' 提供的功能与操作符 bin_threshold 提供的功能相同;

  4. 分割方法 'max_separability' 倾向于为 UsedThreshold 确定较小的值;

  5. 'LightDark' 为提取的前景或背景(默认 'dark')。

dilation_rectangle1

  • 使用矩形结构元素扩展区域
dilation_rectangle1 (Region, RegionDilation, 11, 11)
  1. 构造矩形的大小为宽度×高度,结果是区域被放大,区域内部小于矩形掩模的孔被关闭;

union1

  • 返回所有输入区域的联合
union1 (RegionDilation, RegionUnion)
  1. RegionUnion <= Region : RegionUnion <= RegionDilation。

shape_trans

  • 变换区域的形状
shape_trans (ConnectedRegions, RegionTrans, 'rectangle1')
  1. shape_trans 根据参数 Type 转换输入区域的形状。

partition_rectangle

  • 将一个区域划分成大小大致相等的矩形
partition_rectangle (SelectedRegions, Partitioned, 45, 85)
  1. partition_rectangle 将输入区域划分为宽度乘以高度的矩形。矩形在 Partitioned 中返回。区域总是被分割成大小大致相等的矩形。

intersection

  • 计算两个区域的交点
intersection (Partitioned, Region, RegionIntersection)
  1. 计算区域 Partitioned 中的区域与区域 Region 中的区域的交集;

partition_dynamic

  • 在垂直范围较小的位置上水平划分区域
partition_dynamic(SelectedRegions, Partitioned, 45, 85)
  1. 将输入区域水平划分为距离宽度近似的区域,当输入区域宽度大于1.5倍距离时,才进行分区;

  2. Distance 为所得到的的结果区域部分的近似宽度;

  3. Percent 分割位置的最大移动百分比。

sort_region

  • 根据区域的相对位置对区域进行排序
sort_region (Partitioned, SortedRegions, 'first_point', 'true', 'row')
  1. SortMode 排序模式:'character', 'first_point', 'last_point', 'lower_left', 'lower_right', 'upper_left', 'upper_right',默认为 'first_point';

  2. Order 递增(true)或递减(false)排序顺序,按行(row)或列(column)进行排序。

append_ocr_trainf

  • 将字符添加到训练文件
append_ocr_trainf (RegionIntersection,ImageAffineTrans, Classes[i-1],'/svm.rtf')
  1. 操作符 append_ocr_trainf 用于使用操作符 trainf_ocr_class_mlp 或 trainf_ocr_class_svm 来准备训练;

  2. 表示字符的区域,包括其灰度值(区域和像素)和对应的类名将被写入文件(追加写);

  3. character 中每个字符(区域) RegionIntersection 必须在 class 中指定相应类名 Classes;

  4. 灰度值通过参数 Image (ImageAffineTrans)传递。

read_ocr_trainf_names

  • 查询那些字符存储在训练文件中
read_ocr_trainf_names (trainfFile, CharacterNames, CharacterCount)
  1. 从训练文件(.trf, .otr)中读取字符名称数组和对应的字符数量数组。

create_ocr_class_svm

  • 使用支持向量机创建一个OCR分类器
create_ocr_class_svm (8, 10, 'constant', 'default', CharacterNames, \
                      'rbf', 0.02, 0.001, 'one-versus-one', 'normalization', \
                      10, OCRHandle)
  1. 分割字符的灰度值被放大到的矩形的宽度 WidthCharacter(默认 8)、高度(默认 10);

  2. Interpolation 用于字符缩放的插值模式('bicubic', 'bilinear', 'constant'(默认), 'nearest_neighbor', 'weighted');

  3. Features 用于分类的特征(默认 'default');

  4. CharacterNames 要读取的字符集的所有字符,内核类型默认 'rbf'( 'linear', 'polynomial_homogeneous', 'polynomial_inhomogeneous', 'rbf');

  5. 内核函数的附加参数(默认 0.02),SVM的正则化常数(0.001),SVM 的模式('one-versus-all', 'one-versus-one');

  6. Preprocessing 用于变换特征向量的预处理类型('canonical_variates', 'none', 'normalization', 'principal_components');

  7. 预处理参数NumComponents : 转换后的特征的数量( Preprocessing = 'none' 和 'normalization' 时忽略),默认 10。

trainf_ocr_class_svm

  • 训练一个 OCR 分类器
trainf_ocr_class_svm (OCRHandle, trainfFile, 0.001, 'default')
  1. 用 TrainingFile 给出的 OCR 训练文件 trainfFile 中存储的训练字符训练 OCR 分类器OCRHandle;

  2. 训练停止参数(默认 0.001),训练模式('add_sv_to_train_set', 'default')。

do_ocr_multi_class_svm

  • 使用基于 SVM 的 OCR 分类器对多个字符进行分类
do_ocr_multi_class_svm (RegionIntersection2, ImageAffineTrans, OCRHandle, Class)
  1. 准备识别的字符 RegionIntersection2,字符的灰度值 ImageAffineTrans,分类结果 Class。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Halcon: (示例 1)OCR 字符识别 的相关文章

  • 【Halcon】计算机视觉(CV)与机器视觉(MV)

  • halcon中相似变换、仿射变换、投影变换的区别以及应用方式和例程

    在机器视觉系统中 xff0c 镜头是重要成像部件之一 xff0c 而基于小孔成像原理的工业镜头往往会产生透视畸变现象 xff0c 如何校正畸变是进行图像分析的前提 xff0c 这其中就会用到投影变换 xff0c 也是几何变换的一种 除此之外
  • halcon边缘检测

    边缘检测 Ronny丶 博客园 寻找边缘的传统方法 xff0c 即图像中的暗 光转换 xff0c 是应用边缘滤波器 这些滤光器可以在光和暗区域的边界找到像素 从数学术语中来说 xff0c 这意味着这些滤波器决定了图像的梯度 此图像渐变通常作
  • Halcon HTuple由按行排序转成按列排序

    目录 前言 方法 结果 前言 今天有一个需求 把一个HTuple的列表重新排序 列表保存的是由二维展开成一维的数据 先按行保存 存完一行再存下一行 如今需要变一下 改成先保存一列 存完一列后在保存下一列 如有一个二维表格如下 1 2 3 4
  • 图像处理入门5-特征提取

    特征提取 图像特征提取属于图像分析的范畴 是对图像信息的深层理解 是数字图像处理的高级阶段 同时也是图像识别的开始 特征工程是图像处理的必备工具 所以掌握它的重要性不言而喻 什么是特征 特征是某一类对象区别于其他类对象的相应 本质 特点或特
  • c++基于Resnet(Dlib库)+opencv3的高精度人脸识别

    Resnet 产生原因 介绍残差网络Resnet之前 先介绍一下卷积神经网络过程中会遇到的问题 分别有 计算资源的消耗 模型容易过拟合 梯度消失 梯度爆炸问题的产生 问题1可以通过GPU集群来解决 对于一个企业资源并不是很大的问题 问题2的
  • 【halcon】亚像素轮廓XLD

    XLD eXtended Line Descriptions XLD其实就是指的亚像素轮廓 如何理解亚像素 上一篇 halcon入门小技巧 提到的 threshold Image Region 128 255 这个呢 是给了一个灰度的范围
  • 基于形状的模板匹配来寻找稍微变形的图像

    方案 直接用整幅图像做模板匹配 下面是过程 原图 创建模板 下图是模板的轮廓 需要识别的图像 识别结果 代码 dev update off read image ModelImage food cocoa package model dev
  • 字符检测识别机器视觉系统方案设计——东莞康耐德

    字符识别机器视觉系统概述 系统功能 可以自动搜索定位视野中的字符位置 可以自动识别出其中的字符值 可以自动校验字符是否正确并且标记出不正确的字符位置 可以进行在线检测 系统稳定 高效 成本低 应用现状 根据被测产品 字符 测量要求 需要对其
  • Halcon-表面检测-----裂纹检测

    对应示例程序 detect mura defects blur hdev 目标 实例实现LCD上有很多污点干扰下 检测LCD的印痕检测 思路为 对LCD图像进行拆分 提取RGB三个分量 对B分量进行处理 将其转换为频域内图像 并对其进行高斯
  • 【yolov7系列三】实战从0构建训练自己的数据集

    大家好 我是张大刀 上文中提到了yolov7的正负样本匹配策略 这里主要从0开始训练自己的数据集 如果大家需文中ppt使用 请关注公众号后台添加微信 领取 备注 ppt 首先大刀是在windows电脑端完成数据集的标注 linux ubun
  • opencv实战——机器视觉检测和计数

    引言 在机器视觉中 有时需要对产品进行检测和计数 其难点无非是对于产品的图像分割 由于之前网购的维生素片 有时候忘了今天有没有吃过 就想对瓶子里的药片计数 在学习opencv以后 希望实现对于维生素片分割计数算法 本次实战在基于形态学的基础
  • Halcon/C++编程

    配置环境 网上有许多 可以参考配置opencv的步骤 主要就是在配置库目录 包含目录 lib文件 注意 一定要看清楚是win32还是x64 2 实例 显示一幅图像 TODO 在此添加控件通知处理程序代码 HObject ho Image H
  • 基于相关性(NCC)的模板匹配Halcon

    一 原理 归一化相关性 NCC normalization cross correlation 顾名思义 就是用于归一化待匹配目标之间的相关程度 注意这里比较的是原始像素 通过在待匹配像素位置p px py 构建3 3邻域匹配窗口 与目标像
  • Blob分析实现缺陷检测

    检测饼干的缺陷 blob 特征 1 正常的图 2 有缺陷的图 3 代码 This example demonstrates a quality inspection on hazelnut wavers Using the morpholo
  • 在C#中使用Halcon开发视觉检测程序

    本文的初衷是希望帮助那些有其它平台视觉算法开发经验的人能快速转入Halcon平台下 通过文中的示例开发者能快速了解一个Halcon项目开发的基本步骤 让开发者能把精力完全集中到算法的开发上面 首先 你需要安装Halcon HALCON 18
  • 【四】3D Object Model之创建Creation——read_object_model_3d()算子

    欢迎来到本博客 Halcon算子太多 学习查找都没有系统的学习查找路径 本专栏主要分享Halcon各类算子含义及用法 有时间会更新具体案例 具体食用方式 可以点击本专栏 Halcon算子快速查找 gt 搜索你要查询的算子名称 或者点击Hal
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • Radxa Rock 3a NPU调用指南

    0x0 Radxa Rock 3a开发板介绍 Radxa Rock 3a开发板是基于瑞芯微RK3568芯片设计的 ARM CPU采用4核Cortex A55 Cortex A53的继任者 主频最高可达2 0Ghz CPU性能相当于中高端手机
  • 基于灰度的模板匹配(带旋转角度)

    原图 选择模板 旋转180度进行识别 继续旋转 依然可以识别 代码 Searching the best matching of a template in an image with rotation dev close window r

随机推荐

  • linux中shell中使用expect实现自动应答

    linux中shell中使用expect实现自动应答 expect有两种方式 一种是为了单纯的进行自动应答 还有一种是为了结合shell脚本 大多数情况下都是为了结合shell脚本 这里示例两种写法 但在使用时应该尽量使用结合shell方式
  • 杀毒软件 clamav 的安装和使用

    目录 一 clamAV介绍 二 安装ClamAV clamdscan 三 手动更新数据库 四 用法 4 1 clamscan用法 4 2 clamdscan用法 五 python判定有无检测出病毒 一 clamAV介绍 ClamAV 杀毒是
  • python入门基础-数据类型&有序序列和无序序列;

    目录 python优点 python缺点 python应用场景 Python数据类型 字符串 string 列表 list 元组 tuple 不可变数据 1 2 3 set 集合 1 2 3 无序 自动去重 dict字典 key value
  • 基于YOLO的3D人脸关键点检测方案

    目录 前言 一 任务列表 二 3D人脸关键点数据 H3WB 2 下载方法 3 任务 4 评估 5 使用许可 3DFAW AFLW2000 3D 三 3D关键点的Z维度信息 1 基于3DMM模型的方法 2 H3WB 四 当前SOTA的方法 1
  • STM32串口下载

    使用FlyMCU下载程序 1 上电前 设置BOOT0 1 BOOT1 0 或者是在上电后 设置BOOT0 1 BOOT1 0之后 然后按一下复位按键 从而通过串口下载程序 2 在MDK编译加载生成的hex文件 并勾选右边的编程前重装文件 这
  • Unity进阶 - 动画系统 - Animations选项卡

    Unity进阶 动画系统 Animations选项卡 相关文章阅读 Unity 进阶 动画系统 Mecanim动画系统 Unity进阶 动画系统 给人物角色制作动画 Unity进阶 动画系统 人形动画的导入 Unity进阶 动画系统 导入设
  • 中国移动笔试有感

    被3号的中国移动笔试给深深地虐了 以前被像阿里阿这样的大企业虐就没啥子感觉 笔试完依旧是嘻嘻哈哈 像恒生这样的企业 笔试对我来说还是比较容易的虽然面试被刷了 说明还是需要多读书啊 但是中国移动的笔试 真的深深的激起了我学习的动力 我也不知道
  • C语言_带参宏和函数的区别及各自优缺点

    前言 C语言中 要想解决某子问题 可以自定义一个函数来专门处理该问题 比如 我想比较两个数的大小 那么我可以地定义一个函数max来完成两个数求最大值功能 但是 C语言中我们也可以通过宏定义来定义一个求最值的函数MAX 然后通过使用带参宏来完
  • 善待自己:改变命运的N个人生哲理

    心灵的栅栏 人与月亮的距离并不遥远 因为人与人心灵间的距离更为遥远 王尔德 当玛格丽特的丈夫杰瑞因脑瘤去世后 她变得异常愤怒 生活太不公平 她憎恨孤独 孀居 年 她的脸变得紧绷绷的 一天 玛格丽特在小镇拥挤的路上开车 忽然发现一幢她喜欢的房
  • 《软件测试的艺术》读后感 Or 读书笔记

    软件测试的艺术 读后感 Or 读书笔记 第一章 一次自评价测试 第二章 软件测试的心理学和经济学 第三章 代码检查 走查与评审 第四章 测试用例的设计 第五章 模块 单元 测试 第六章 更高级别的测试 第七章 可用性 或用户体验 测试 第八
  • Java—类的加载概述

    1 1 类的加载概述 当程序要使用某个类时 如果该类还未被加载到内存中 则系统会通过加载 连接 初始化三步来实现对这个类进行初始化 1 加载 是将class文件读入内存 并为之创建一个Class对象 任何类被使用时系统都会建立一个Class
  • Docker中安装Gitlab详细全教程

    前言 一 安装Gitlab 1 搜索影像 2 下载影像 3 启动Git服务 4 查看Gitlab是否已经启动 二 配置Gitlab 1 首先 先进入容器 2 修改gitlab rb文件 3 修改gitlab rb文件中的IP与端口号 3 配
  • OpenCV——求直线交点

    您可以使用OpenCV中的cv Point和cv Vec4i数据类型来表示点和直线 然后使用cv intersect函数来计算两条直线的交点 下面是一个示例代码 其中line1和line2分别表示两条直线的起点和终点 cv Point li
  • 机器学习(11)——时间序列分析

    目录 1 时间序列数据的相关检验 1 1 白噪声检验 1 2 平稳性检验 1 3 自相关分析和偏自相关分析 2 移动平均算法 2 1 简单移动平均法 2 2 简单指数平滑法 2 3 霍尔特线性趋势法 2 4 Holt Winters 季节性
  • Centos7安装dig命令

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Centos7安装dig命令 作者 jwj 时间 2018 10 17 分类 服务器 最近做一个项目 需要用到Gmail邮箱发送邮件 但发现发送不出去 排查问题时 需要用到
  • 最新SecureCRT 中文注册版

    SecureCRT是一款由VanDyke Software公司开发的终端仿真软件 它提供了类似于Telnet和SSH等协议的远程访问功能 SecureCRT专门为网络管理员 系统管理员和其他需要保密访问网络设备的用户设计 软件下载 Secu
  • filter IE滤镜(Internet Explorer)CSS

    http justcoding iteye com blog 940184 概述 CSS滤镜虽然只能在IE浏览器中表现出效果 但是仍不失为网页增加特效的好办法 1 CSS静态滤镜样式 filter CSS静态滤镜样式的使用方法 filter
  • PlatformIO基于ESP32S2的SPI软串口LCD屏调试

    文章目录 VSCode PlatformIO Arduino ESP32S2 SPI LCD 320 240 一 准备工作 二 测试 1 全屏检测 2 图形测试 参考资料 VSCode PlatformIO Arduino ESP32S2
  • 基于SSM+Vue的网上拍卖系统

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用Vue技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Mave
  • Halcon: (示例 1)OCR 字符识别

    目录 示例 涉及算子描述 text line orientation hom mat2d identity hom mat2d rotate affine trans image dots image reduce domain vecto