halcon 车牌识别

news2024/9/20 7:59:59

文章目录

  • 素材图片
  • 预处理操作
    • 读取图片
    • 阈值处理
    • 图片仿射
  • 识别预处理
  • 数字字母识别
  • 识别显示
  • 识别汉字
    • 预处理
  • 字符组装
    • 汉字组装
    • 连接所有字符
    • 训练文件
    • 图像识别
    • 全部代码

素材图片

在这里插入图片描述

预处理操作

读取图片

* 读取图片
dev_close_window()
read_image(Image,'C:/Users/Augustine/Desktop/picture/车牌.png')
dev_open_window_fit_image(Image, 0, 0, -1, -1, WindowHandle)
dev_display(Image)

阈值处理

* 灰度处理
rgb1_to_gray(Image, GrayImage)
* 阈值处理
threshold (GrayImage, Regions, 87, 244)
* 连通图打断
connection(Regions, ConnectedRegions)
* 特征处理
select_shape (ConnectedRegions, SelectedRegions, ['area','row','column'], 'and', [0,176.21,151.16], [3756.71,335.42,607.33])
* 开运算,去毛刺
opening_circle(SelectedRegions, RegionOpening, 1)

在这里插入图片描述

图片仿射

* 联合成一个区域
union1(RegionOpening, RegionUnion)
*获取向量矩形区域
shape_trans(RegionUnion, RegionTrans, 'rectangle2')
*1.获取中心点
area_center(RegionTrans, Area, Row, Column)
*2.获取当前矩阵的原始弧度
orientation_region(RegionTrans, Phi)
*3.生成仿射变换矩阵
vector_angle_to_rigid(Row, Column, Phi, Row, Column, rad(0), HomMat2D)
*4.转换斜切矩阵
hom_mat2d_slant(HomMat2D, rad(-5), 'x', Column, Row, HomMat2DSlant)
*5.仿射变换区域
affine_trans_region(RegionTrans, RegionAffineTrans, HomMat2DSlant, 'nearest_neighbor')
*6.仿射变换图片
affine_trans_image(Image,ImageAffineTrans, HomMat2DSlant, 'constant', 'false')
*抠图
reduce_domain(ImageAffineTrans, RegionAffineTrans, ImageReduced)

在这里插入图片描述

识别预处理

*识别预处理
rgb1_to_gray(ImageReduced, GrayImage1)
*阈值处理
threshold (GrayImage1, Regions1, 184, 243)
*腐蚀
erosion_rectangle1(Regions1, RegionErosion, 4, 3)
* 开运算去毛刺
opening_rectangle1(RegionErosion, RegionOpening1, 1,1)
* 连通图打断
connection(RegionOpening1, ConnectedRegions1)
*特征选择
select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 552.77, 2000.01)
*排序 根据列排序
sort_region(SelectedRegions1, SortedRegions, 'character', 'true', 'column')
select_obj(SortedRegions, ObjectSelected, 1)

在这里插入图片描述

数字字母识别

*识别
*颜色反转
invert_image(GrayImage1, ImageInvert)
*定义识别器
read_ocr_class_mlp('Industrial_0-9A-Z_Rej.omc', OCRHandle)
*识别
do_ocr_multi_class_mlp(SortedRegions, ImageInvert, OCRHandle, Class, Confidence)

在这里插入图片描述

识别显示

* 设置字体、设置颜色
set_display_font (WindowHandle, 50, 'mono', 'true', 'false')
dev_clear_window ()
dev_display (Image)
dev_set_color ('red')
***** 循环打印
for Index := 0 to |Class|-1 by 1
    set_tposition (WindowHandle,30, 120+40*Index)
    write_string (WindowHandle, Class[Index])
endfor

在这里插入图片描述

识别汉字

预处理

* 读取图片
dev_close_window()
read_image(Image,'C:/Users/Augustine/Desktop/picture/车牌.png')
dev_open_window_fit_image(Image, 0, 0, -1, -1, WindowHandle)
dev_display(Image)
* 灰度处理
rgb1_to_gray(Image, GrayImage)
* 阈值处理
threshold (GrayImage, Regions, 87, 244)
* 连通图打断
connection(Regions, ConnectedRegions)
* 特征处理
select_shape (ConnectedRegions, SelectedRegions, ['area','row','column'], 'and', [0,176.21,151.16], [3756.71,335.42,607.33])
* 开运算,去毛刺
opening_circle(SelectedRegions, RegionOpening, 1)

* 联合成一个区域
union1(RegionOpening, RegionUnion)
*获取向量矩形区域
shape_trans(RegionUnion, RegionTrans, 'rectangle2')
*1.获取中心点
area_center(RegionTrans, Area, Row, Column)
*2.获取当前矩阵的原始弧度
orientation_region(RegionTrans, Phi)
*3.生成仿射变换矩阵
vector_angle_to_rigid(Row, Column, Phi, Row, Column, rad(0), HomMat2D)
*4.转换斜切矩阵
hom_mat2d_slant(HomMat2D, rad(-5), 'x', Column, Row, HomMat2DSlant)
*5.仿射变换区域
affine_trans_region(RegionTrans, RegionAffineTrans, HomMat2DSlant, 'nearest_neighbor')
*6.仿射变换图片
affine_trans_image(Image,ImageAffineTrans, HomMat2DSlant, 'constant', 'false')
*抠图
reduce_domain(ImageAffineTrans, RegionAffineTrans, ImageReduced)

*识别预处理
rgb1_to_gray(ImageReduced, GrayImage1)
*阈值处理
threshold (GrayImage1, Regions1, 179, 245)
*空洞处理闭运算
closing_circle(Regions1, RegionClosing, 3.5)
*去除毛刺开运算
opening_circle(Regions1, RegionOpening1, 2)
*特征选择
connection(RegionOpening1, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions1, ['area','row'], 'and', [0,180.23], [2884.62,275.94])
* 排序
sort_region(SelectedRegions1, SortedRegions, 'character', 'true', 'column')
select_obj(SortedRegions, ObjectSelected, 1)

在这里插入图片描述

字符组装

汉字组装

select_obj(SortedRegions, ObjectSelected1, 1)
select_obj(SortedRegions, ObjectSelected2, 2)
select_obj(SortedRegions, ObjectSelected3, 3)
select_obj(SortedRegions, ObjectSelected4, 4)
select_obj(SortedRegions, ObjectSelected5, 5)
select_obj(SortedRegions, ObjectSelected6, 6)
union2(ObjectSelected1, ObjectSelected2, RegionUnion1)
union2(RegionUnion1, ObjectSelected3, RegionUnion2)
union2(RegionUnion2, ObjectSelected4, RegionUnion3)
union2(RegionUnion3, ObjectSelected5, RegionUnion4)
union2(RegionUnion4, ObjectSelected6, RegionUnion5)

在这里插入图片描述

连接所有字符

* 把所有区域连接成一个对象
gen_empty_obj(NumberObject)
concat_obj(NumberObject,RegionUnion5,NumberObject)
concat_obj(NumberObject, ObjectSelected7, NumberObject)
concat_obj(NumberObject, ObjectSelected8, NumberObject)
concat_obj(NumberObject, ObjectSelected8, NumberObject)
concat_obj(NumberObject, ObjectSelected9, NumberObject)
concat_obj(NumberObject, ObjectSelected10, NumberObject)
concat_obj(NumberObject, ObjectSelected11, NumberObject)
concat_obj(NumberObject, ObjectSelected12, NumberObject)

在这里插入图片描述

训练文件

* 创建训练文件
TrainFile:='C:/Users/Augustine/Desktop/picture/车牌.trf'
Words:=['粤','B','7','0','l','4','6']
* 完成图像与字符训练对应关系
append_ocr_trainf(RegionUnion5,GrayImage1,'粤',TrainFile)
append_ocr_trainf(ObjectSelected7,GrayImage1,'B',TrainFile)
append_ocr_trainf(ObjectSelected8,GrayImage1,'7',TrainFile)
append_ocr_trainf(ObjectSelected9,GrayImage1,'0',TrainFile)
append_ocr_trainf(ObjectSelected10,GrayImage1,'l',TrainFile)
append_ocr_trainf(ObjectSelected11,GrayImage1,'4',TrainFile)
append_ocr_trainf(ObjectSelected12,GrayImage1,'6',TrainFile)

* 读取训练文件
read_ocr_trainf_names(TrainFile, CharacterNames, CharacterCount)

* 创建一个分类识别器

*create_ocr_class_mlp(WidthCharacter, HeightCharacter, // 识别字符宽度、高度
*                     Interpolation, // 插值算法
*                     Features, // 特征值 (区域特征、灰度值特征   包含曲度、紧密度、凸性等等)
*                     Characters, // 训练样本的名称
*                     NumHidden, // 隐藏层中的单元数
*                     Preprocessing, // 预处理
*                     NumComponents, // 特征变换的数量(特征未规划前的向量数一般为默认值)
*                     RandSeed, // 随机种子点数一般都写42 ,这个是神经网络迭代的过程
*                     OCRHandle) // 句柄

create_ocr_class_mlp(8, 10, 'constant', 'default', CharacterNames, 80, 'none', 10, 42, OCRHandle)

* 创建一个分类识别器
trainf_ocr_class_mlp (OCRHandle, TrainFile, 200, 1, 0.01, Error, ErrorLog)

* 保存分类识别文件
write_ocr_class_mlp(OCRHandle, 'C:/Users/Augustine/Desktop/picture/chepai.omc')

在这里插入图片描述

图像识别

*基于训练omc文件开始识别带中文车牌
*读取分类识别文件
dev_clear_window ()
dev_display (Image)
dev_set_color ('red')
set_display_font (WindowHandle, 30, 'mono', 'true', 'false')

read_ocr_class_mlp ('C:/Users/Augustine/Desktop/picture/chepai.omc', OCRHandle)


do_ocr_multi_class_mlp (RegionUnion5, GrayImage1, OCRHandle, Class, Confidence)
set_tposition (WindowHandle,30, 120+40)
write_string (WindowHandle, Class)
do_ocr_multi_class_mlp(ObjectSelected7,GrayImage1,OCRHandle,Class,Confidence)

set_tposition (WindowHandle,30, 120+40*2)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected8,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*3)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected9,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*4)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected10,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*5)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected11,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*6)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected12,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*7)
write_string (WindowHandle, Class)

全部代码

* 读取图片
dev_close_window()
read_image(Image,'C:/Users/Augustine/Desktop/picture/车牌.png')
dev_open_window_fit_image(Image, 0, 0, -1, -1, WindowHandle)
dev_display(Image)
* 灰度处理
rgb1_to_gray(Image, GrayImage)
* 阈值处理
threshold (GrayImage, Regions, 87, 244)
* 连通图打断
connection(Regions, ConnectedRegions)
* 特征处理
select_shape (ConnectedRegions, SelectedRegions, ['area','row','column'], 'and', [0,176.21,151.16], [3756.71,335.42,607.33])
* 开运算,去毛刺
opening_circle(SelectedRegions, RegionOpening, 1)

* 联合成一个区域
union1(RegionOpening, RegionUnion)
*获取向量矩形区域
shape_trans(RegionUnion, RegionTrans, 'rectangle2')
*1.获取中心点
area_center(RegionTrans, Area, Row, Column)
*2.获取当前矩阵的原始弧度
orientation_region(RegionTrans, Phi)
*3.生成仿射变换矩阵
vector_angle_to_rigid(Row, Column, Phi, Row, Column, rad(0), HomMat2D)
*4.转换斜切矩阵
hom_mat2d_slant(HomMat2D, rad(-5), 'x', Column, Row, HomMat2DSlant)
*5.仿射变换区域
affine_trans_region(RegionTrans, RegionAffineTrans, HomMat2DSlant, 'nearest_neighbor')
*6.仿射变换图片
affine_trans_image(Image,ImageAffineTrans, HomMat2DSlant, 'constant', 'false')
*抠图
reduce_domain(ImageAffineTrans, RegionAffineTrans, ImageReduced)

*识别预处理
rgb1_to_gray(ImageReduced, GrayImage1)
*阈值处理
threshold (GrayImage1, Regions1, 179, 245)
*空洞处理闭运算
closing_circle(Regions1, RegionClosing, 3.5)
*去除毛刺开运算
opening_circle(Regions1, RegionOpening1, 2)
*特征选择
connection(RegionOpening1, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions1, ['area','row'], 'and', [0,180.23], [2884.62,275.94])
* 排序
sort_region(SelectedRegions1, SortedRegions, 'character', 'true', 'column')

* 组装字体区域
* 汉字组装
select_obj(SortedRegions, ObjectSelected1, 1)
select_obj(SortedRegions, ObjectSelected2, 2)
select_obj(SortedRegions, ObjectSelected3, 3)
select_obj(SortedRegions, ObjectSelected4, 4)
select_obj(SortedRegions, ObjectSelected5, 5)
select_obj(SortedRegions, ObjectSelected6, 6)
union2(ObjectSelected1, ObjectSelected2, RegionUnion1)
union2(RegionUnion1, ObjectSelected3, RegionUnion2)
union2(RegionUnion2, ObjectSelected4, RegionUnion3)
union2(RegionUnion3, ObjectSelected5, RegionUnion4)
union2(RegionUnion4, ObjectSelected6, RegionUnion5)


select_obj(SortedRegions, ObjectSelected7, 7)
select_obj(SortedRegions, ObjectSelected8, 8)
select_obj(SortedRegions, ObjectSelected9, 9)
select_obj(SortedRegions, ObjectSelected10, 10)
select_obj(SortedRegions, ObjectSelected11, 11)
select_obj(SortedRegions, ObjectSelected12, 12)

* 把所有区域连接成一个对象
gen_empty_obj(NumberObject)
concat_obj(NumberObject,RegionUnion5,NumberObject)
concat_obj(NumberObject, ObjectSelected7,NumberObject)
concat_obj(NumberObject, ObjectSelected8,NumberObject)
concat_obj(NumberObject, ObjectSelected8,NumberObject)
concat_obj(NumberObject, ObjectSelected9,NumberObject)
concat_obj(NumberObject, ObjectSelected10,NumberObject)
concat_obj(NumberObject, ObjectSelected11,NumberObject)
concat_obj(NumberObject, ObjectSelected12,NumberObject1)

* 创建训练文件
TrainFile:='C:/Users/Augustine/Desktop/picture/车牌.trf'
Words:=['粤','B','7','0','l','4','6']
* 完成图像与字符训练对应关系
append_ocr_trainf(RegionUnion5,GrayImage1,'粤',TrainFile)
append_ocr_trainf(ObjectSelected7,GrayImage1,'B',TrainFile)
append_ocr_trainf(ObjectSelected8,GrayImage1,'7',TrainFile)
append_ocr_trainf(ObjectSelected9,GrayImage1,'0',TrainFile)
append_ocr_trainf(ObjectSelected10,GrayImage1,'l',TrainFile)
append_ocr_trainf(ObjectSelected11,GrayImage1,'4',TrainFile)
append_ocr_trainf(ObjectSelected12,GrayImage1,'6',TrainFile)


* 读取训练文件
read_ocr_trainf_names(TrainFile, CharacterNames, CharacterCount)

* 创建一个分类识别器

*create_ocr_class_mlp(WidthCharacter, HeightCharacter, // 识别字符宽度、高度
*                     Interpolation, // 插值算法
*                     Features, // 特征值 (区域特征、灰度值特征   包含曲度、紧密度、凸性等等)
*                     Characters, // 训练样本的名称
*                     NumHidden, // 隐藏层中的单元数
*                     Preprocessing, // 预处理
*                     NumComponents, // 特征变换的数量(特征未规划前的向量数一般为默认值)
*                     RandSeed, // 随机种子点数一般都写42 ,这个是神经网络迭代的过程
*                     OCRHandle) // 句柄

create_ocr_class_mlp(10, 10, 'constant', 'default', CharacterNames, 80, 'none', 10, 42, OCRHandle)

* 创建一个分类识别器
trainf_ocr_class_mlp (OCRHandle, TrainFile, 200, 1, 0.01, Error, ErrorLog)

* 保存分类识别文件
write_ocr_class_mlp(OCRHandle, 'C:/Users/Augustine/Desktop/picture/chepai.omc')

stop()
*基于训练omc文件开始识别带中文车牌
*读取分类识别文件
dev_clear_window ()
dev_display (Image)
dev_set_color ('red')
set_display_font (WindowHandle, 30, 'mono', 'true', 'false')

read_ocr_class_mlp ('C:/Users/Augustine/Desktop/picture/chepai.omc', OCRHandle)


do_ocr_multi_class_mlp (RegionUnion5, GrayImage1, OCRHandle, Class, Confidence)
set_tposition (WindowHandle,30, 120+40)
write_string (WindowHandle, Class)
do_ocr_multi_class_mlp(ObjectSelected7,GrayImage1,OCRHandle,Class,Confidence)

set_tposition (WindowHandle,30, 120+40*2)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected8,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*3)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected9,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*4)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected10,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*5)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected11,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*6)
write_string (WindowHandle, Class)

do_ocr_multi_class_mlp(ObjectSelected12,GrayImage1,OCRHandle,Class,Confidence)
set_tposition (WindowHandle,30, 120+40*7)
write_string (WindowHandle, Class)


*dev_clear_window ()
*dev_display (Image)
*dev_set_color ('red')
*set_display_font (WindowHandle, 30, 'mono', 'true', 'false')
*for Index := 0 to |Class|-1 by 1
*    set_tposition (WindowHandle,30, 120+36*Index)
*    write_string (WindowHandle, Class[Index])
*endfor

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1123206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iPhone怎么导出微信聊天记录?3个值得收藏的方法

随着时间的推移,微信占用的内存空间会“膨胀”得越来越大。当手机内存不足时,清理微信中的聊天记录是一个可行的方法。但是很多小伙伴觉得有些重要的聊天记录还有用,可能以后需要进行查看。 因此,他们想将一些聊天记录进行导出或…

NI9234 4 通道, ±5 V, 24 位软件可选 IEPE 和 AC/DC模拟输入模块振动测试国产替代

NI的自动化测试和测量系统将助您打破桎梏,化不可能为可能。让我们携手合作,选择最适合您的硬件、软件和服务组合,为您提供全副武装,助您成就非凡。 购买NI的产品或服务,并非只是单纯的一次性交易行为。如果您有任何疑…

【Javascript】不满意网上的Token无感知刷新方案,自己琢磨了个感觉还不错~

​前言 大家设想一下,如果有一个超级大的表单页面,用户好不容易填完了,然后点击提交,这个时候请求接口居然返回401,然后跳转到登录页。。。那用户心里肯定是一万个草泥马~~~ 所以项目里实现token无感知刷新是很有必要…

Cooking Casual -A Chef‘s Game

Cooking Casual brings out your inner crazy chef in this cool restaurant game! support email : 825407372qq.com

你真的懂Java中的equals和==吗?看完这篇文章你就知道了

和 equals() 是 Java 中两个用于比较对象是否相等的操作符和方法。它们的区别主要有以下几点: 一、类型 是一个运算符,而 equals() 是一个方法。 二、比较对象 Java数据对象类型分为两大类:基本类型和引用类型。 比较的对象可以是基本类型…

Navicat Premium 16 安装教程

一、下载地址 网址:https://pan.baidu.com/s/1jGISrlLGjAUYSIfLbm8IBw?pwd0i90 提取码:0i90 二、安装步骤 1.双击运行安装包 2.下一步 3.选择我同意,下一步 4.自定义安装路径,下一步 5.创建快捷方式,下一步 6.安装…

嵌入式学习笔记(61)位操作寄存器时的特殊作用

2.2.1寄存器操作的要求(特定位改变而不影响其他位) (1)ARM是内存与IO统一编址的,ARM中有很多内部外设,SoC中CPU通过向这些内部外设的寄存器写入一些特定的值来操控这个内部外设,进而操控硬件动作。所以可以说&#xf…

服务器中了mkp勒索病毒怎么解决,勒索病毒解密,数据恢复

自从九月份以来,云天数据恢复中心陆续接到很多企业的求助,企业的服务器数据库遭到了mkp勒索病毒的攻击,导致企业的所有业务工作中断无法开展,严重影响了企业的正常运行。经过云天数据恢复中心对其该病毒的详细了解与解密&#xff…

论坛议程 | COSCon'23 开源操作系统(O)

众多开源爱好者翘首期盼的开源盛会:第八届中国开源年会(COSCon23)将于 10月28-29日在四川成都市高新区菁蓉汇举办。本次大会的主题是:“开源:川流不息、山海相映”!各位新老朋友们,欢迎到成都&a…

项目管理中的变数:从不同角度洞悉团队管理的重要性

在项目管理中,人是最重要的变数。每个成员的能力、特长、处事方式和思考方法,以及价值观和沟通方式都各不相同。因此,团队管理是项目管理过程中至关重要的环节。尽管成功的团队管理并不一定能保证项目的成功,但失败的团队管理却必…

台灯显色指数多少好?推荐显色指数优秀的护眼台灯

台灯的显色指数是其非常重要的指标,它可以表示灯光照射到物体身上,物体颜色的真实程度,一般用平均显色指数Ra来表示,Ra值越高,灯光显色能力越强。常见的台灯显色指数最低要求一般是在Ra80以上即可,比较好的…

第十五章 I/O(输入/输出)流

15.1 输入/输出流 流是一组有序的数据序列,可分为输入流和输出流两种。 程序从指向源的输入流中读取源中数据,源可以是文件、网络、压缩包或者其他数据源 输出流的指向是数据要到达的目的地,输出流的目标可以是文件、网络、压缩包、控制台和…

宁波市:做大做强跨境电商 赋能外贸创新发展

近日,全国政协第十四届常委会第二次会议专题研究“构建新发展格局,推进中国式现代化”议题,市政协主席徐宇宁参加“推动高水平对外开放”专题小组讨论,全国政协副主席蒋作君到会听取发言,国家发改委、商务部相关司局负…

AI的Prompt是什么

一.AI的Prompt的作用 在人工智能(AI)中,"Prompt"通常指的是向AI系统提供的输入或指令,用于引导AI进行特定的操作或生成特定的输出。例如,在一个对话型AI系统中,用户输入的问题就是一个prompt&…

设计模式:观察者模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

简介: 观察者模式,它是一种行为型设计模式,它允许一个对象自动通知其依赖者(观察者)状态的变化。当被观察者的状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应。在观察者模式…

c++ json 库的调用报错 “value, object or array expected“

表示输入的json 文件,写的格式有点不正确例如 双引号 逗号 字符串 列表等 aa.json 出现了一些问题,不是代码问题

Kubernetes概述及其组件/核心组件

Kubernetes 概述: 1、K8S 是什么? K8S 的全称为 Kubernetes (K12345678S),PS:“嘛,写全称也太累了吧,不如整个缩写”。 作用: 用于自动部署、扩展和管理“容器化(containerized&…

文章发表丨求臻医学发布病理AI模型,实现肿瘤精准分型

近日,求臻医学科研团队研发一款基于数字病理图像的肿瘤分型深度学习模型—TMG(The Transformer-based Multiple instance learning with Global average pooling)。该模型可有效消除对病理图像细粒度标记的依赖,实现高准确率的分型,将用于原发…

武汉凯迪正大—线圈匝间耐压测试仪

产品概述 KDYD2830绕组匝间冲击耐压试验仪适用于试验电压30kV及以下高压电机、中小型电机、直流电机的绕组匝间绝缘检测;也可用于变压器绕组、电器线圈绕组的匝间绝缘检测。因电机、变压器绕组由于绝缘结构和绝缘材料的不一致,特别是操作者工艺水平的不…

全志R128适配 ST7789v LCD

适配 ST7789v LCD R128 平台提供了 SPI DBI 的 SPI TFT 接口,具有如下特点: Supports DBI Type C 3 Line/4 Line Interface ModeSupports 2 Data Lane Interface ModeSupports data source from CPU or DMASupports RGB111/444/565/666/888 video form…