当前位置: 首页 > news >正文

halcon对图片进行处理基础

实例图片

C:\Users\Public\Documents\MVTec\HALCON-19.11-Progress\examples\images

在这里插入图片描述
在这里插入图片描述

*读取图片
read_image (Image1, 'D:/c++/image/1.png')
*读取大小
get_image_size(Image1,Width, Height)
*创建窗口
dev_close_window()
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
dev_display(Image1)
*获得图像的时间
get_image_time(Image1, MSecond, Second, Minute, Hour, Day, YDay, Month, Year)
*获取类型
get_image_type(Image1, Type)
*指针,内存地址
get_image_pointer1(Image1, Pointer, Type1, Width1, Height1)read_image(Image,'D:/c++/image/2.jpg')
*图片分成rgb
decompose3(Image, Image11, Image2, Image3)
*rgb在进行合并
compose3(Image11, Image2, Image3, MultiChannelImage)
*rgb变成灰通道
rgb1_to_gray(MultiChannelImage, GrayImage)
*rgb转换成hsv颜色空间,使用色调,饱和度,亮度,表示
trans_from_rgb(Image11, Image2, Image3, ImageResult1, ImageResult2, ImageResult3, 'hsv')

对图像进行抠图,轮廓,和亚像素

*读取图片
read_image(Image, 'fabrik')*读取图像大小
get_image_size(Image, Width, Height)
*使用窗口
dev_clear_window()
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
dev_display(Image)
*对图像进行,阈值判断,全局阈值
threshold(Image, Region, 128, 255)*对图像进行打散标注
connection(Region, ConnectedRegions)
*使用面积进行过滤,rectangularity:使用矩形过滤
select_shape(ConnectedRegions, SelectedRegions, 'rectangularity', 'and', 0.9, 1)
*在使用一次进行过滤
select_shape(SelectedRegions, SelectedRegions1, 'area', 'and',7500, 99999)
*进行填充
fill_up(SelectedRegions1, RegionFillUp)
*进行抠图,减少范围,roi
reduce_domain(Image, RegionFillUp, ImageReduced)*找到对应的阈值
threshold(ImageReduced, Region1, 0, 100)*得到亚像素轮廓,
threshold_sub_pix(ImageReduced, Border, 158)*在轮廓中,使用的是轮廓的长度,进行过滤筛选
select_contours_xld(Border, SelectedContours, 'contour_length', 90, 120, -0.5, 0.5)*适合的区域有多少个
count_obj(SelectedContours, Number)
*对轮廓进行填充
gen_region_contour_xld(SelectedContours, Region2, 'filled')
*可以在进行抠图
reduce_domain(ImageReduced, Region2, ImageReduced1)

在这里插入图片描述

形态学,腐蚀,膨胀

*区域集合运算及变换*读取图片
read_image(Image, 'D:/c++/image/5')
*图片大小
get_image_size(Image, Width, Height)dev_close_window()
*开窗口
dev_open_window(0, 0, Width/2, Height/2, 'black', WindowHandle)
*图像显示
dev_display(Image)*转换成灰色图片
rgb1_to_gray(Image, GrayImage)*设置字体
set_display_font ( WindowHandle, 14, 'mono', 'true', 'false')
*显示字体右下角
disp_continue_message ( WindowHandle, 'black', 'true')Grag := 80
*直方图全阈值分割
threshold(GrayImage, Region, Grag, 255)*自动阈值,dark:黑色的部分找出来,light:白色部分
binary_threshold(GrayImage, Region1, 'max_separability', 'light', UsedThreshold)*均值滤波,教程写的是亮度像素值乘2+1
mean_image(GrayImage, ImageMean, 20, 20)*原图与滤波后的图进行比较,明暗差别大于5的进行选中,动态阈值
dyn_threshold(GrayImage, ImageMean, RegionDynThresh, 8, 'light')
*查看多少个
count_obj(RegionDynThresh, Number)
*进行打散
connection(RegionDynThresh, ConnectedRegions)
*查看多少个678count_obj(ConnectedRegions, Number1)
*进行面积的阈值处理
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 1000, 99999)
select_shape(SelectedRegions, SelectedRegions1, 'area', 'and', 900,1200)
*用大的分割图减去小的分割图
difference(SelectedRegions, SelectedRegions1, RegionDifference)
*进行填充
fill_up(RegionDifference, RegionFillUp)
*用矩形相似度
select_shape(RegionFillUp, SelectedRegions2, 'rectangularity', 'and', 0.9, 1)
*使用外接圆
select_shape(SelectedRegions2, SelectedRegions3, 'outer_radius', 'and', 90, 120)
*中心点使用画出外接圆,内接圆,矩形,等
shape_trans(SelectedRegions3, RegionTrans, 'inner_circle')*可以进行画
draw_region(Region2, WindowHandle)*凸性,不规则图像,用最高点进行了连接
shape_trans(Region2, RegionTrans1, 'convex')
*用凸性给出的区间画出的,
difference(RegionTrans1, Region2, RegionDifference1)
*图像显示
dev_display(SelectedRegions)
*骨架,再中间
skeleton(SelectedRegions, Skeleton)dev_display(Region2)*先膨胀后收缩可以填坑,闭运算
*膨胀
dilation_circle(Region2, RegionDilation, 3.5)
*收缩
erosion_circle(RegionDilation, RegionErosion, 3.5)
*用膨胀减去收缩的可以得到边缘
difference(RegionDilation, RegionErosion, RegionDifference2)*获取边缘
boundary(RegionDifference2, RegionBorder, 'inner')

在这里插入图片描述

画出圆,矩形,计算出距离

read_image(Image, 'D:/c++/image/5')*读取图像大小
get_image_size(Image, Width, Height)
*使用窗口
dev_clear_window()
dev_open_window(0, 0, Width/2, Height/2, 'black', WindowHandle)
dev_display(Image)
*创建一个圆型的roi
draw_circle(WindowHandle, Row, Column, Radius)*生产区域的圆
gen_circle(Circle, Row, Column, Radius)*创建一个椭圆
draw_ellipse(WindowHandle, Row1, Column1, Phi, Radius1, Radius2)*生成椭圆
gen_ellipse(Ellipse, Row1, Column1, Phi, Radius1, Radius2)*生成一个外接圆
smallest_circle(Ellipse, Row2, Column2, Radius3)*显示出来
gen_circle(Circle1, Row2, Column2, Radius3)*创建一个矩形
draw_rectangle1(WindowHandle, Row11, Column11, Row21, Column21)
*显示矩形
gen_rectangle1(Rectangle, Row11, Column11, Row21, Column21)*创建一个带方向的矩形draw_rectangle2(WindowHandle, Row3, Column3, Phi1, Length1, Length2)
*显示出来
gen_rectangle2(Rectangle1, Row3, Column3, Phi1, Length1, Length2)*创建用点来创建
draw_region(Region, WindowHandle)*创建一个直线
draw_line(WindowHandle, Row12, Column12, Row22, Column22)
*显示直线
gen_region_line(RegionLines, Row12, Column12, Row22, Column22)draw_point(WindowHandle, Row4, Column4)
gen_region_points(Region1, Row4, Column4)dev_display(Image)*创建一个矩形
draw_rectangle1(WindowHandle, Row11, Column11, Row21, Column21)
*显示矩形
gen_rectangle1(Rectangle, Row11, Column11, Row21, Column21)
*保存区域write_region(Rectangle, 'D:/c++/image/region.hobj')dev_display(Image)
*读取感兴趣区域
read_region(RegionROI,'D:/c++/image/region.hobj' )*照片与感兴趣区域直接就给截取出来,但是不是从0开始的
reduce_domain(Image, RegionROI, ImageReduced)*生成一个空区域
gen_empty_region(RegionROI)
gen_empty_obj(EmptyObject)                                                                                                                                                                                                                                                             *让一个矩形添加进去
concat_obj(RegionROI, Rectangle, RegionROI)
*让一个圆写进去
concat_obj(RegionROI, Circle, RegionROI)*创建一个点
dev_display(Image)
draw_point(WindowHandle, Row5, Column5)
gen_cross_contour_xld(Cross, Row5, Column5, 60, 0)*创建一个点
draw_point(WindowHandle, Row6, Column6)
gen_cross_contour_xld(Cross1, Row6, Column6, 60, 0)*计算两个点的距离distance_pp(Row5, Column5, Row6, Column6, Distance)*现在中如果是10厘米
readDis := 10
*用现实中的距离除于像素中的,就可以得到比值
mmpp := readDis/Distance1 *创建一个线draw_line(WindowHandle, Row13, Column13, Row23, Column23)*显示出来
gen_region_line(RegionLines1, Row13, Column13, Row23, Column23)
*点到直线的距离
distance_pl(Row5, Column5, Row13, Column13, Row23, Column23, Distance1)* 得到的比值在乘线到点的距离
read := mmpp *Distance1*点到区域的距离,后面是最长的距离和最短的距离distance_pr(RegionLines1, Row6, Column6, DistanceMin, DistanceMax)*创建用鼠标画出不规则图像
draw_region(Region2, WindowHandle)*用这个不规则图形,能测量出与直线最近距离和最远距离
distance_lr(Region2, Row13, Column13, Row23, Column23, DistanceMin1, DistanceMax1)*区域带区域之间的最短距离的点是多少
distance_rr_min(Region2, RegionLines1, MinDistance, Row14, Column14, Row24, Column24)*显示出来
gen_region_line(RegionLines2, Row14, Column14, Row24, Column24)*最短的点用坐标点显示出来
gen_cross_contour_xld(Cross2, Row14, Column14, 60, 0.48)
gen_cross_contour_xld(Cross3, Row24, Column24, 60,0.48 )

在这里插入图片描述

对区域进行移动

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'white', WindowID)
dev_set_color ('black')
dev_set_draw ('margin')
dev_clear_window ()
* Draw with the mouse an arbitrary region into the window
draw_region (Region, WindowID)
area_center (Region, Area, Row1, Column1)
Button := 1
while (Button == 1)* Click to the position where the region should be placed* Use right mouse button to exit the loopget_mbutton (WindowID, Row, Column, Button)move_region (Region, RegionMoved, Row - Row1, Column - Column1)
endwhile

可以早到矩形的各个边

read_image(Image, '1')
get_image_size(Image, Width, Height)dev_close_window()
dev_open_window(0, 0, Width/4, Height/4, 'black', WindowHandle)dev_display(Image)*均值滤波
mean_image(Image, ImageMean, 50, 50)
dyn_threshold(Image, ImageMean, RegionDynThresh, 10, 'light')connection(RegionDynThresh, ConnectedRegions)
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 45000, 99999)*使用矩形进行填充,进行筛选fill_up(SelectedRegions, RegionFillUp)select_shape(RegionFillUp, SelectedRegions1, 'rectangularity', 'and', 0.8, 1)*闭运算
closing_circle(SelectedRegions1, RegionClosing, 43.5)
*开运算
opening_circle(RegionClosing, RegionOpening, 43.5)*选择边
boundary(RegionOpening, RegionBorder, 'inner')*整体矩形往上面挪动move_region(RegionOpening, RegionMoved, -15  , 1)*将矩形进行缩小
erosion_circle(RegionMoved, RegionErosion, 13.5)*相交的画出,得到一个直线intersection(RegionBorder, RegionErosion, RegionIntersection)

在这里插入图片描述
在这里插入图片描述

物体放大

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'white', WindowID)
dev_set_color ('black')
* Draw with the mouse an arbitrary (small) region into the window
draw_region (Region, WindowID)
*缩放宽高都放大2zoom_region (Region, RegionZoom, 2, 2)
dev_clear_window ()
dev_set_draw ('margin')
dev_set_color ('red')
dev_display (Region)
dev_set_color ('green')
dev_display (RegionZoom)

生成中心线,在进行镜像

*找出中心线
gen_region_line(RegionLines,Height/2,0,Height/2,Width)
*如果使用中心线进行镜像,就是(Height/2)*2
mirror_region(要进镜像的参数,输出的参数,"row",(Height/2)*2)

在这里插入图片描述

转置

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'white', WindowID)
dev_set_color ('black')
* Draw with the mouse an arbitrary region into the window
draw_region (Region, WindowID)
transpose_region (Region, Transposed, 256, 256)
dev_clear_window ()
dev_set_draw ('margin')
dev_set_color ('red')
dev_display (Region)
dev_set_color ('green')
dev_display (Transposed)

在这里插入图片描述

一维码

open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0]  Camera MV-UB500#CC5CCDD3-4', 0, -1, AcqHandle)
*创建句柄
create_bar_code_model([], [], BarCodeHandle)dev_close_window()
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
dev_set_color('green')
dev_set_draw('margin')
dev_set_line_width(3)
set_display_font(WindowHandle, 16, 'mono', 'true', 'false')
*后面数字是识别多少个
set_bar_code_param(BarCodeHandle, 'element_size_min', 2 )while (true)grab_image (Image, AcqHandle)rgb1_to_gray(Image, GrayImage)* Image Acquisition 01: Do something*直方图阈值threshold(GrayImage, Region2, 100, 255)*全局阈值binary_threshold(Image, Region1, 'max_separability', 'light', UsedThreshold1)connection(Region1, ConnectedRegions2)*选着给定形状的区域,计算区域中的最小外接平面矩形                                                                                                                                                                                                                                                                                                                                                         select_shape_std(ConnectedRegions2, SelectedRegions2, 'max_area', 70)*变换区域形状shape_trans(SelectedRegions2, RegionTrans1, 'convex')*通过reduce_domain确实能获得特定区域Region位置的图像,直接进行抠图reduce_domain(Image, RegionTrans1, ImageReduced1)*通过均值平滑图像mean_image(ImageReduced1, ImageMean1, 9, 9)*阈值分割dyn_threshold(ImageReduced1, ImageMean1, RegionDynThresh1, 1, 'dark')connection(RegionDynThresh1, ConnectedRegions3)*筛选select_shape(ConnectedRegions3, SelectedRegions3, 'area', 'and', 3000, 4800)select_shape(SelectedRegions3, SelectedRegions6, 'width', 'and', 200, 99999)fill_up(SelectedRegions6, RegionFillUp3)*筛选出矩形,算子满足特征区域,'rectangle1':计算区域的最小外接平行矩形,select_shape_std(RegionFillUp3, SelectedRegions9, 'rectangle1', 60)dilation_circle(SelectedRegions9, RegionDilation1, 40.5)*进行抠图reduce_domain(Image, SelectedRegions9, ImageReduced3)*dyn_threshold(ImageReduced3, ImageReduced3, RegionDynThresh2, 1, 'dark')find_bar_code(ImageReduced3, SymbolRegions1, BarCodeHandle, 'auto', DecodedDataStrings1)get_bar_code_result(BarCodeHandle, 'all', 'decoded_types', BarCodeResults1)disp_message(WindowHandle, DecodedDataStrings1, 'window', 12, 12, 'black', 'true')endwhile
clear_bar_code_model(BarCodeHandle) 
close_framegrabber (AcqHandle)open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0]  Camera MV-UB500#CC5CCDD3-4', 0, -1, AcqHandle)
*创建句柄
create_bar_code_model([], [], BarCodeHandle)dev_close_window()
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
dev_set_color('green')
dev_set_draw('margin')
dev_set_line_width(3)
set_display_font(WindowHandle, 16, 'mono', 'true', 'false')
*后面数字是识别多少个
set_bar_code_param(BarCodeHandle, 'element_size_min', 2 )while (true)grab_image (Image, AcqHandle)*进行识别find_bar_code(Image, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)get_bar_code_result(BarCodeHandle, 'all', 'decoded_types', BarCodeResults)disp_message(WindowHandle, DecodedDataStrings, 'window', 12, 12, 'black', 'true')
endwhile
clear_bar_code_model(BarCodeHandle) 
close_framegrabber (AcqHandle)

在这里插入图片描述

一维码设置的参数

set_bar_code_param (BarCodeHandle, ‘contrast_min’, ‘True’)*设置后面的true和false进行不同解码,true进行全局解码,速度慢但是准确,false识别前几个进行解码,会有错误

相关文章:

halcon对图片进行处理基础

实例图片 C:\Users\Public\Documents\MVTec\HALCON-19.11-Progress\examples\images*读取图片 read_image (Image1, D:/c/image/1.png) *读取大小 get_image_size(Image1,Width, Height) *创建窗口 dev_close_window() dev_open_window(0, 0, Width, Height, black, WindowHan…...

element-ui在vue中如何实现校验两个复选框至少选择一个!

整体进行验证 想验证至少选择一个复选框,可以将这两个复选框视为一个整体进行验证。在 Element UI 中,可以使用自定义验证规则来实现这一点。 你可以在 rules 对象中定义一个自定义的验证规则来检查 isCheck1 和 isCheck2 至少有一个被选中。 以下是一…...

DeepinV20/Ubuntu安装postgresql方法

首先,建议看一下官方的安装文档PostgreSQL: Linux downloads (Ubuntu) PostgreSQL Apt Repository 简单的说,就是Ubuntu下的Apt仓库,可以用来安装任何支持版本的PgSQL。 If the version included in your version of Ubuntu is not the one…...

汽车ECU软件升级方案介绍

软件OTA的背景 随着汽车网联化的发展,现在的汽车电子架构都支持软件空中升级,即大家常说的OTA(Software Update and Upgrade Over the Air),传统的软件升级常常是离线升级,需要车主将车开到维修保养中心进行软件更新。不过OTA升级方式带来方便之处需要考虑的问题也随之增…...

首家!亚信科技AntDB数据库完成中国信通院数据库迁移工具专项测试

近日,在中国信通院“可信数据库”数据库迁移工具专项测试中,湖南亚信安慧科技有限公司(简称:亚信安慧科技)数据库数据同步平台V2.1产品依据《数据库迁移工具能力要求》、结合亚信科技AntDB分布式关系型数据库产品&…...

为什么好多人想辞职去旅行?

一、“世界那么大,我想去看看。” 这句话成为了网络上的一句流行语。这句话的出处就是在一位女教师的一份辞职申请上,这样的辞职理由是多少人想干却不敢干的事情。这句话的流行,反映了现代社会中人们对于探索未知世界和追求个人梦想的渴望。在这个快速发展的时代&am…...

vim的使用介绍以及命令大全

懒羊羊感谢大家的关注和三连支持~ 目录 前言 一、vim的使用介绍 二、命令大全 1.命令模式 (1)复制(配合粘贴命令p使用) (2)剪切 (3)粘贴 (4)删除 …...

JavaScript高级技巧:深入探索JavaScript语言的高级特性和用法

当我们谈论JavaScript高级技巧时,以下是一些示例来说明这些概念: 闭包(Closures): function outerFunction() {var outerVariable Hello;function innerFunction() {console.log(outerVariable);}return innerFunct…...

虹科方案|HK-Edgility利用边缘计算和VNF降本增效

一、边缘计算和 VNF 在当今瞬息万变的数字环境中,边缘虚拟化网络功能(VNF)是一个既能够优化网络基础设施,又能控制成本的创新型解决方案。它使客户能够将多个基于软件的 VNF 整合到一个专用计算设备上。更值得高兴的是&#xff0c…...

SpringBoot项目--电脑商城【新增收货地址】

1.新增收货地址 t_address CREATE TABLE t_address (aid INT AUTO_INCREMENT COMMENT 收货地址id,uid INT COMMENT 归属的用户id,name VARCHAR(20) COMMENT 收货人姓名,province_name VARCHAR(15) COMMENT 省-名称,province_code CHAR(6) COMMENT 省-行政代号,city_name VARC…...

[HNCTF 2022 Week1]——Web方向 详细Writeup

Week1 [HNCTF 2022 Week1]2048 f12查看源代码 可以看出游戏的分数是score 修改score的值 得到flag [HNCTF 2022 Week1]Interesting_include 得到源码 <?php //WEB手要懂得搜索 //flag in ./flag.phpif(isset($_GET[filter])){$file $_GET[filter];if(!preg_match(&qu…...

3dmax vray如何创建真实的灯光?3dmax vray 室内照明教程

为什么良好的照明很重要&#xff1f; 通过仔细操纵光源并利用 V-Ray 的功能&#xff0c;您将解锁制作超越普通渲染的能力&#xff0c;让观众着迷。每个阴影和每个高光都有一个目的 - 通过注意掌握照明&#xff0c;您的渲染将变得栩栩如生&#xff0c;并为您的室内设计赋予独特…...

如何在本地使用Docker搭建和运行Kubernetes集群

文章目录 1. 准备环境2. 安装Minikube3. 启动Minikube集群4. 验证集群5. 部署一个示例应用创建一个Deployment部署应用检查部署 6. 访问应用创建一个Service部署Service获取Service的访问地址 7. 清理资源结论 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN…...

每天几道Java面试题(第二天)

目录 第二幕、第一场&#xff09;公司前台第二场&#xff09;公司卫生间 友情提醒 背面试题很枯燥&#xff0c;加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第二幕、 第一场&#xff09;公司前台 【接待人员埃斯卡莱罗&#xff0c;面试…...

Java | 线程的生命周期和安全

不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始&#xff0c;不如现在行动&#xff01; &#x1f334;线程的生命周期 sleep方法会让线程睡眠&#xff0c;睡眠时间到了之后&#xff0c;立马就会执行下面的代码吗&#xff1f; 答&#xff1a;不会&am…...

Bootstrap的一些主要作用

Bootstrap是一个流行的前端开发框架&#xff0c;它主要用于快速构建响应式、移动优先的网站和网络应用程序。它提供了一套CSS样式和JavaScript插件&#xff0c;帮助开发者轻松地创建漂亮、一致和交互丰富的用户界面。 以下是Bootstrap的一些主要作用&#xff1a; 响应式布局&a…...

网络编程套接字 | UDP套接字

前面的文章中我们叙述了网络编程套接字的一些预备知识点&#xff0c;从本文开始我们就将开始UDP套接字的编写。本文中的服务端与客户端都是在阿里云的云服务器进行编写与测试的。 udp_v1 在v1的版本中我们先来使用一下前面讲过得一些接口&#xff0c;简单的构建一个udp服务器…...

网络层IP协议

目录 前言 1.如何理解IP协议 2.IP协议格式 3.网段划分 4.特殊的IP地址 5.IP地址的数量限制 6.私有IP地址和公网IP地址 7.路由 总结 前言 在前面的文章中介绍了关于传输层常用的两个协议&#xff0c;UDP协议和TCP协议&#xff0c;当数据经过传输层之后&#xff0c;进入网…...

C++ Day4

目录 仿照string类&#xff0c;完成myString 类 思维导图 仿照string类&#xff0c;完成myString 类 #include <iostream> #include<cstring>using namespace std;class myString {private:char *str; //记录c风格的字符串int size; //记录…...

2024字节跳动校招面试真题汇总及其解答(二)

1. 微服务的好处,划分原则 微服务是软件架构的一种模式,它将应用程序划分为一系列小型、独立的服务。每个服务都提供一个单独的功能,并使用轻量级的接口相互通信。 微服务架构具有以下好处: 灵活性:微服务可以独立部署、扩展和更新,这使得它们能够随着业务需求的变化而…...

SpringBoot集成websocket(4)|(使用okhttp3实现websocket)

SpringBoot集成websocket&#xff08;4&#xff09;|&#xff08;使用okhttp3实现websocket&#xff09; 文章目录 SpringBoot集成websocket&#xff08;4&#xff09;|&#xff08;使用okhttp3实现websocket&#xff09;[TOC] 前言一、实现步骤1.实现步骤 二、websocket服务代…...

【MySQL】JDBC编程

MySQL-JDBC编程 文章目录 MySQL-JDBC编程Java的数据库编程JDBC工作原理JDBC的使用驱动包下载导入代码编写 Java的数据库编程 JDBC&#xff0c;即Java Database Connectivity&#xff0c;java数据库连接。是一种用于执行SQL语句的Java API&#xff0c;它是 Java中的数据库连接…...

数据结构——二叉树线索化遍历(前中后序遍历)

二叉树线索化 线索化概念&#xff1a; 为什么要转换为线索化 二叉树线索化是一种将普通二叉树转换为具有特殊线索&#xff08;指向前驱和后继节点&#xff09;的二叉树的过程。这种线索化的目的是为了提高对二叉树的遍历效率&#xff0c;特别是在不使用递归或栈的情况下进行遍历…...

GO语言网络编程(并发编程)Channel

GO语言网络编程&#xff08;并发编程&#xff09;Channel 1、Channel 1.1.1 Channel 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换&#xff0c;但是共享内存在不同的goroutine中容易发生竞态…...

c++day3

stack.h #ifndef STACK_H #define STACK_H #include <iostream> //#define max 128 using namespace std; class Stack { private:int* stack;//数组指针int top;//栈顶元素int max;//栈容量 public://构造函数Stack();//析构函数~Stack();//定义拷贝构造函数Stack(cons…...

算法通过村第六关-树青铜笔记|中序后序

文章目录 前言1. 树的常见概念2. 树的性质3. 树的定义与存储方式4. 树的遍历方式5. 通过序列构建二叉树5.1 前中序列恢复二叉树5.2 中后序列恢复二叉树 总结 前言 提示&#xff1a;瑞秋是个小甜心&#xff0c;她只喜欢被爱&#xff0c;不懂的去爱人。 --几米《你们 我们 他们》…...

C++动态内存管理+模板

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; C&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大…...

SQL 注入漏洞攻击

文章目录 1. 介绍2. 无密码登录3. 无用户名无密码登录4. 合并表获取用户名密码 1. 介绍 假设你用自己的用户名和密码登录了一个付费网站&#xff0c;网站服务器就会查询一下你是不是 VIP 用户&#xff0c;而用户数据都是放在数据库中的&#xff0c;服务器通常都会向数据库进行查…...

一篇五分生信临床模型预测文章代码复现——Figure 10.机制及肿瘤免疫浸润(四)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…...

Transformer 模型中常见的特殊符号

Transformer 模型中常见的特殊符号 通过代码一起理解一下 Transformer 模型中常见的特殊符号&#xff0c; 示例代码&#xff0c; special_tokens{unk_token: [UNK], sep_token: [SEP], pad_token: [PAD], cls_token: [CLS], mask_token: [MASK]}这段代码是定义了一个字典spec…...

大型网站建设流程/网络服务器

1. 一条数学公式&#xff1a;如果有 a%bc, 则有 (akb)%bc(k 为非零整数) 2. 用途&#xff1a;求解一次线性同余方程组&#xff0c;需要将模数转化为素数来求解的题目 3. 核心&#xff1a;求 (N/mi)∗yi≡1(mod mi) 中的yi --》 扩展欧几里得 --》 看成 yi(N/m1)q⋅m11 &#…...

有哪些好的建站平台/做了5天游戏推广被抓了

电动机应用广泛&#xff0c;下面为您揭晓目前电动机重要的七大应用领域&#xff1a; 1、电气伺服传动领域 在要求速度控制和位置控制(伺服)的场合&#xff0c;特种电机的应用越来越广泛。开关磁阻电动机、永磁无刷直流电动机、步进电动机、永磁交流伺服电动机、永磁直流电动机…...

连云港网站建设公司/成都seo网络优化公司

1、%s&#xff1a;字符型 %s&#xff1a;正常输出字符 %6s&#xff1a;输出6位字符&#xff0c;不足6位字符的左边用空格符补充&#xff0c;超过6位字符的输出全部字符&#xff08;%-6d为右边用空格补充&#xff09; %.2s&#xff1a;截取前2位字符&#xff0c;不足2位的左边…...

推广做网站怎么样/百度搜索大数据查询

除了基本操作符中所讲的运算符&#xff0c;Swift还有很多复杂的高级运算符&#xff0c;包含了C语和Objective-C中的位运算符和移位运算。 不同于C语言中的数值计算。Swift的数值计算默认是不可溢出的。溢出行为会被捕获并报告为错误。你是有益的&#xff1f;好吧&#xff0c;你…...

信息推广网站点不开的那种怎么做/免费网站建设制作

站立会议信息:今天组内的成员报告了自己的进度&#xff0c;每个人都汇报了自己所完成的情况&#xff0c;例如系统的登录界面的整天模板、进入登录界面后用户选择的界面以及程序大体数据库的连接&#xff0c;每个人都在努力完成自己那一部分的工作。 站立会议照片&#xff1a; 任…...

给别人做网站怎么赚钱吗/推广运营是做什么的

先决条件&#xff1a; 1、硬件需要支持esxi操作系统 2、目标主机网卡支持pex启动 3、ESXI安装镜像校验完整 4、需要有TFTP、FTP支持 5、防火墙运行TFTP/FTP流量通过 安装过程&#xff1a; 1、C盘创建文件夹pexboot 2、获取 SYSLINUX 版本 3.86 并进行解压&#xff0c;然后将 px…...