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

Halcon图像预处理算子 sobel算子、傅里叶变换算子、卷积算子


滤波类型算子适用噪声特点
均值滤波mean_image高斯噪声平滑均匀,可能额模糊边缘
中值滤波median_image椒盐噪声保留边缘,抑制脉冲噪声
高斯滤波gauss_filter高斯噪声加权平均,边缘更平滑

均值滤波

mean_image(Image,ImageMean,MaskWidth,MaskHeight)

优点: 对图像内部的噪声及模糊有着很好的作用,有效的平滑图像,适用于处理高斯噪声

缺点:会将图像的边缘信息与特征信息“模糊”点,丢失很多特征

  • Image: 输入图像
  • ImageMean: 滤波后的图像
  • MaskWidth,MaskHeight: 滤波核的宽度和高度

注意:MaskWidth和MaskHeight 必须是奇数,核越大,平滑效果就越强,细节损失也大

使用5*5的卷积核,适合去除较大噪声

read_image (Image, 'F:/素材收集/图片素材/01.jpg')
get_image_size (Image, Width, Height)* 获得一个高斯噪声分布,添加到图像
gauss_distribution (20, Distribution)
add_noise_distribution (Image, ImageNoise, Distribution)mean_image (ImageNoise, ImageMean, 9, 9)
dev_open_window (0, 0, 254, 252, 'black', WindowHandle)
dev_display (Image)

效果

 

 中值滤波

优点对脉冲噪声核椒盐噪声有很好的去除效果

          能够有效的保护图像的边缘信息

median_image(Image,ImageMedian,MaskType,Radius,Margin)
  • Image: 输入图像
  • ImageMedian: 滤波后的图像
  • MaskType: 滤波掩模形状   'circle':     'square' 
  • Radius : 滤波掩模的半径(像素)  Raius=2  表示圆形掩模直径为5     (2*2+1)
  • Margin: 边界处理方式   常用有'mirrored'、'cyclic'、'continued'等
read_image (Image, 'F:/素材收集/图片素材/01.jpg')
get_image_size (Image, Width, Height)* 添加椒盐噪声
sp_distribution (5, 5, Distribution)
add_noise_distribution (Image, ImageNoise, Distribution)*使用中值滤波
median_image (ImageNoise, ImageMedian, 'square', 3, 'mirrored')
median_image (ImageNoise, ImageMedian, 'square', 5, 'mirrored')dev_open_window (0, 0, 254, 252, 'black', WindowHandle)
dev_display (ImageMedian)

 效果

高斯滤波

gauss_filter (Image,ImageGauss,Size)
  •  Image: 输入的图像

  • ImageGauss:  输出的图像

  • Size: 滤波的尺寸.尺寸值越大,平滑效果越明显.常用的尺寸有3,5,7,9等奇数值

 优势: 消除高斯噪声

read_image (Image, 'F:/素材收集/图片素材/01.jpg')
get_image_size (Image, Width, Height)* 添加高斯噪声
gauss_distribution (20, Distribution)
add_noise_distribution (Image, ImageNoise, Distribution)*使用高斯滤波
gauss_filter (Image, ImageGauss, 5)
dev_open_window (0, 0, 254, 252, 'black', WindowHandle)
dev_display (ImageGauss)

效果 


 直方图均衡

equ_histo_image(Image,ImageEquHisto)

 优点:用于增强图像

 缺点:直方图均衡可能放大噪声,建议进行降噪处理


* 直方图均衡化* 将密集的灰度值拉开一定的距离
* 作用: 使有蒙层的图像 马赛克 ... 图像变得更清晰
read_image (Image, 'F:/Halcon/‫Image/2.tif')
get_image_size (Image, Width, Height)
dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)
dev_display (Image)* 直方图均衡化
equ_histo_image (Image, ImageEquHisto)

效果

灰度直方图

相比于Visionpro 中的 histogram  直接生成直方图对象(Region类型),适合可视化

gray_histo(Region,Image,AbsoluteHisto,RelativeHisto)
  • Region: 感兴趣区域(ROI),限定统计范围
  • Image: 输入图像(单通道灰度图)
  • AbsoluteHisto: 绝对直方图(各灰度级像素数量)
  • RelativeHisto: 相对直方图(各灰度级像素占比,总和为1)
read_image (Image, 'printer_chip/printer_chip_01')
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_disp_text ('展示Image的直方图', 'window', 'top', 'left', 'black', [], [])gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)* 将灰度直方图的绝对分布  生成区域类型
gen_region_histo (Region, AbsoluteHisto, 255, 255, 1)

效果 

  • read_image (Image, 'printer_chip/printer_chip_01')
    dev_close_window ()
    get_image_size (Image, Width, Height)
    dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)
    dev_display (Image)
    emphasize (ImageInvert, ImageEmphasize, Width, Height, 1)

对比度

 对比度调整用于在低对比度或光照不均的场景中

emphasize (ImageInvert, ImageEmphasize, Width, Height, 1)
  • 参数1: 原始图像
  • 参数2:输出图像
  • 参数3、参数4、参数5    值越大  对比度越明显
read_image (Image, 'printer_chip/printer_chip_01')
dev_close_window ()
get_image_size (Image, Width, Height)
dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)
dev_display (Image)
emphasize (ImageInvert, ImageEmphasize, Width, Height, 1)

效果


线性对比度


scale_image(Image,ImageScaled,0.5,0)
* 增强亮度
scale_image(Image,ImageScaled1,1,100)
* 减少亮度
scale_image(Image,ImageScaled2,1,-100)公式:灰度值=原值*2.5+10
  • 参数1:输入图像
  • 参数2:输出图像
  • 参数3: 比例  大于等于1的值   图像更亮
  •                         小于1的值  图像更暗
  • 参数4:补偿值


非线性

log_image (Image, LogImage, 2)
pow_image (Image, PowImage, 2)
  •  参数1:输入图像

  • 参数2:输出图像

  • 参数3:底数


read_image (Image, 'printer_chip/printer_chip_01')
dev_close_window ()
get_image_size (Image, Width, Height)dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)
dev_display (Image)* 对数变化  压缩灰度值的级别  降低高灰度值的级别
* 参数1:输入图像
* 参数2:输出图像
* 参数3:底数
log_image (Image, LogImage, 2)* 指数变化   选择增强低灰度值   或者  高灰度值的对比度
* 参数3
* 指数: 0-1 增强高灰度值对比度
*       大于等于1 增强低灰度值对比度
pow_image (Image, PowImage, 2)



 傅里叶变换

傅里叶分析-CSDN博客

在我认为傅里叶变换就好比:在一个教室里面老师带着学生唱校歌,有各种声音还有夏天的知了的鸣叫声,这好多声音混杂在一块,随着时间的变换就叫做时域而我们需要在这混乱的声音中提取老师的声音,这个就叫做频域,频域有很多。

这里的图片就是我们日常生活中拍照一样,但是拍照中他也是有噪音,有各种杂斑,所以我们拍出来的照片,都是富含各种杂事,看着不好看,这就叫做时域,我们需要把这图像的杂拌去掉,进行美颜,这从中就是把图像中某些频域给去掉了

注意:以上是我个人理解的。

 rft_generic(Image,ImageFFT,Direction,ResultType,Width)

fft_generic(Image,ImageFFT,Direction,Exponent,Norm,Mode,ResultType)

 区别:rft 是计算图像的实值快速傅里叶变换

            fft是计算输入图像的快速傅里叶变换

  • Image:  输入图像
  • ImageFFT:  傅里叶转换后的图像
  • Direction:  计算正向或反向
    • 'to_freq':表示从时域转为频域;输入的图像必须具有实值类型
    • 'from_freq': 表示从频域转为时域;输入图像必须是复杂的
  • ResultType: 转换后的数据存储方式,即单个像素的数组存储方式。从时域转为频域使用‘complex’   从频域转为时域用‘real’

'byte': 灰度图像

'int1': 实值图像

'real': 实值图像

'complex': 复数图像

  • Exponent: 对应公式中指数符号,前向变换用-1,后向变换用1
  • Norm:  变换的归一化因子
    • 默认值:  'sqrt' (开根号,c=sqrt(M*N),变量)
    • 'n'(图像)
    • 'none'(不使用,c=1)
  • Width:  图像宽度  默认值512

  傅里叶卷积

convol_fft (ImageFFT, ImageFilter, ImageConvol)

在频域内对图像与滤波器进行卷积,将复杂的图像ImageFFT的像素乘以滤波器ImageFile

的相应像素 

  • 傅里叶图像
  • 滤波图像
  • 卷积图像

首先将图像在水平(竖直)方向与滤波器进行卷积;然后卷积后的结果在竖直(水平)方向使用相同的滤波器函数得到的模板进行卷积运算

 线高斯

lines_gauss(Image,Lines,Sigma,Low,High,LightDark,ExtractWidth,LineModel,CompleteJunctions)
  •  Image: 输入的图像
  • Lines:   检测线条(XLD)
  • Sigma:  高斯滤波值      典型范围 0.7~20   建议 0.1  默认 1.5
  • Low: 滞后阈值分割的低阈值    0~20   建议0.5  默认3
  • High: 滞后阈值分割的高阈值   0~35  建议0.5  默认8
  • LightDark:  提取的线条类型('dark'(暗线),'light'(亮线))
  • ExtractWidth:  是否提取线宽('false','true')
  • LineModel:  用来调整线条的位置和宽度的线模型(’bar-shaped‘,’gaussian‘,’none‘,’parabolic‘)
  • CompleteJunctions: 在锻炼的部分是否添加节点使线条连续('false','true')

缩放图像

zoom_image_factor(Image,ImageZoomed,ScaleWidth,ScaleHeight,Interpolation)

缩放因子实现图像缩放

  • 原图像
  • 缩放后保存的图像
  • 图像宽度的比例因子  默认值:0.5
  • 图像高度的比例因子  默认值:0.5
  • 插值类型                    默认值:'constant'
read_image (Image, 'printer_chip/printer_chip_01')
get_image_size (Image, Width, Height)
dev_display(Image)
gen_gauss_filter (ImageGauss, 100, 100, 0, 'n', 'rft', Width, Height)
*时域转频域
rft_generic (Image, ImageFFT, 'to_freq', 'none', 'complex', Width)
*卷积计算
convol_fft (ImageFFT, ImageGauss, ImageConvol)
*频域转时域
rft_generic (ImageConvol, ImageFFT1, 'from_freq', 'none', 'byte', Width)
*图像作差  用于计算两幅图像的差值    用原图减去滤波后的图像得到锐化图像
sub_image (Image, ImageFFT1, ImageSub, 10, 80)
*对图像进行放大和缩小
zoom_image_factor (ImageSub, ImageZoomed, 0.5, 0.5, 'constant')
*绘制高斯提取线
lines_gauss (ImageZoomed, Lines, 0.2, 3, 8, 'light', 'true', 'bar-shaped', 'true')
dev_display (Lines)

 图像锐化Sobel算子

sobel_amp (Image, EdgeAmplitude, 'FilterType',Size)
  • 输入图像
  • 突出边缘图像
  • 过滤器类型     值为 sum_abs、thin_sum_abs、thin_max_abs、sum_sqrt、x、y
  • 过滤掩模尺寸   值越大,提取的轮廓边缘越暗
read_image (Image, 'printer_chip/printer_chip_01')dev_close_window ()
get_image_size (Image, Width, Height)dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)dev_display(Image)
sobel_amp (Image, EdgeAmplitude, 'x',11)
sobel_amp (Image, EdgeAmplitude, 'y',11)
sobel_amp (Image, EdgeAmplitude, 'sum_abs',11)
sobel_amp (Image, EdgeAmplitude, 'thin_sum_abs',11)sobel_amp (Image, EdgeAmplitude, 'thin_max_abs',11)ThresholdValue:=35
threshold (EdgeAmplitude, Region, ThresholdValue, 255)

 效果  x  y  sum_abs        thin_sum_abs     thin_max_abs

 

 

高通滤波

gen_highpass (ImageHighpass, Frequency, Norm, Mode, Width, Height)

 特点: 值越大、说明保留细节越少、值越小、说明保留细节越多

read_image (Image, 'printer_chip/printer_chip_01')
dev_display (Image)
get_image_size (Image, Width, Height)* 获取一个高通滤波模型
gen_highpass (ImageHighpass, 0.1, 'none', 'dc_center', Width, Height)* 对图像进行傅里叶变换到频域图像
fft_generic (Image, ImageFFT, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')* 对频率图像进行高通滤波
convol_fft (ImageFFT, ImageHighpass, ImageConvol)
* 对的到的频率进行傅里叶变换
fft_generic (ImageConvol, ImageFFT1, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')

效果  高通滤波后    傅里叶变换后

低通滤波

gen_lowpass (ImageLowpass, 0.1, 'none', 'dc_center', Width, Height)

值越小、越模糊、值越大、越清晰 

read_image (Image, 'printer_chip/printer_chip_01')
dev_display (Image)
get_image_size (Image, Width, Height)* 创建一个椒盐噪声
sp_distribution (5, 5, Distribution)
* 将噪声添加到Image上 产生一个带有噪声的图像
add_noise_distribution (Image, ImageNoise, Distribution)dev_display (ImageNoise)* 获取一个低通滤波模型
gen_lowpass (ImageLowpass, 0.1, 'none', 'dc_center', Width, Height)* 对图像进行傅里叶变换到频域图像
fft_generic (ImageNoise, ImageFFT, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')* 对频率图像进行低通滤波
convol_fft (ImageFFT, ImageLowpass, ImageConvol)
* 对的到的频率进行傅里叶变换
fft_generic (ImageConvol, ImageFFT1, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')

效果    低通滤波     傅里叶变换后

 加减乘除

read_image (Image, 'C:/Users/zpp/AppData/Roaming/MVTec/HALCON-23.05-Progress/examples/images/automotive/engine_part_007.png')
read_image (Image1, 'C:/Users/zpp/AppData/Roaming/MVTec/HALCON-23.05-Progress/examples/images/automotive/car_door_01.png')
dev_close_window ()
*get_image_size (Image, Width, Height)add_image (Image, Image1, ImageResult, 0.5, 0)sub_image (Image, Image1, ImageSub, 1, 128)mult_image (Image, Image1, ImageResult2, 0.005, 0)div_image (Image, Image1, ImageResult1, 255, 0)

加   减   乘   除

 

相关文章:

Halcon图像预处理算子 sobel算子、傅里叶变换算子、卷积算子

滤波类型算子适用噪声特点均值滤波mean_image高斯噪声平滑均匀,可能额模糊边缘中值滤波median_image椒盐噪声保留边缘,抑制脉冲噪声高斯滤波gauss_filter高斯噪声加权平均,边缘更平滑 均值滤波 mean_image(Image,ImageMean,MaskWidth,MaskHe…...

Java Web应用中获取客户端的真实IP地址

Java Web应用中获取客户端的真实IP地址,尤其在存在代理服务器的情况下。 代码示例: public static String getClientIP(HttpServletRequest request) {String ip = parseCommaSeparatedIPs(request.getHeader("X-Forwarded-For"));if (isInvalid(ip)) {ip = pars…...

洛谷————P11559 【MX-X7-T0】[LSOT-3] 嗯欧哎

P11559 【MX-X7-T0】[LSOT-3] 嗯欧哎 题目背景 原题链接:MXOJ Next。 嗯欧哎是欧哎界的知名比赛。本题可以用来检验嗯欧哎是否发挥出了真实水平。 此名称纯属虚构,不影射任何现实中的比赛或机构的名称。如有雷同,纯属巧合。 题目描述 一…...

2020年SCI1区TOP:异质综合学习和动态多群体粒子群算法HCLDMS-PSO,深度解析+性能实测

目录 1.摘要2.改进策略3.结果展示4.参考文献5.代码获取 1.摘要 本文提出了一种异质综合学习和动态多群体粒子群算法(HCLDMS-PSO),该算法在综合学习(CL)策略的基础上,通过利用整个种群的全局最优经验来生成…...

FinRobot:一个使用大型语言模型进行金融分析的开源AI代理平台

文章目录 前言一、生态系统1. 金融AI代理(Financial AI Agents)2. 金融大型语言模型(Financial LLMs)3. LLMOps4. 数据操作(DataOps)5. 多源LLM基础模型(Multi-Source LLM Foundation Models&am…...

【windows driver】 开发环境简明安装教程

一、下载路径 https://learn.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads 二、安装步骤: 1、安装Visual Studio IDE 笔者建议安装最新版本,可以向下兼容。发文截止到目前,VS2022是首选,当前笔者由于项…...

强制完整性级别(MIL)和用户账户控制(UAC)的联系与区别

强制完整性级别(MIL) 和 用户账户控制(UAC) 都是 Windows 操作系统中的安全机制,旨在增强系统的安全性并防止恶意软件和攻击者在系统中获得更高的权限。尽管它们有共同的目标,但它们的工作原理、应用范围和…...

性能附录:如何计算并发用户数(摘自高楼老师《性能30讲》)

高楼老师《性能30讲》: 性能测试实战30讲-极客时间 感兴趣的同学可以去读一下,个人感觉写的非常好 目录 什么是并发? 在线用户数、并发用户数怎么计算 总结 什么是并发? 我们假设上图中的这些小人是严格按照这个逻辑到达系统的,那显然,…...

视频推拉流EasyDSS点播平台云端录像播放异常问题的排查与解决

EasyDSS视频直播点播平台是一个功能全面的系统,提供视频转码、点播、直播、视频推拉流以及H.265视频播放等一站式服务。该平台与RTMP高清摄像头配合使用,能够接收无人机设备的实时视频流,实现无人机视频推流直播和巡检等多种应用。 最近&…...

【Python系列】Python 连接 PostgreSQL 数据库并查询数据

???欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老…...

辛格迪客户案例 | 甫康(上海)健康科技有限责任公司药物警戒管理系统(PVS)项目

01 案例企业 甫康(上海)健康科技有限责任公司(简称“甫康”)该公司成立于2015年11月3日。公司的核心团队由来自中国和国外顶级制药公司的专业人士组成,与中国科学院上海药物研究所等知名研究机构保持紧密合作。此外,甫康药业还与…...

重新审视 ChatGPT 和 Elasticsearch:第 2 部分 - UI 保持不变

作者:来自 Elastic Jeff Vestal 本博客在第 1 部分的基础上进行了扩展,介绍了基于 RAG 的搜索系统的功能齐全的 Web UI。最后,你将拥有一个将检索、搜索和生成过程结合在一起的工作界面,同时使事情易于调整和探索。 不想读完整个内…...

坐标变换及视图变换和透视变换(相机透视模型)

文章目录 2D transformationScaleReflectionShear(切变)Rotation around originTranslationReverse变换顺序复杂变换的分解 齐次坐标(Homogenous Coordinates)3D transformationScale&TranslationRotation Viewing / Camera t…...

基于反激电路的电池充放电均衡控制

基于反激电路的电池充放电均衡控制是一种高效的能量转移型主动均衡方法,适用于锂离子电池组等串联电池组的管理。以下从原理、拓扑结构、控制策略和设计要点进行详细分析: 一、基本原理 反激电路(Flyback Converter)是一种隔离型…...

Windows版FFmpeg使用及B站视频下载示例python源码

Windows版FFmpeg使用及B站视频下载示例python源码 FFmpeg介绍和下载 FFmpeg 是一个功能强大、灵活且广泛使用的多媒体处理工具,无论是在专业领域还是日常使用中,都能满足各种多媒体处理需求。FFmpeg 是一个开源项目,遵循 LGPL 或 GPL 许可。…...

leetcode_动态规划/递归 509. 斐波那契数

509. 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1F(n) F(n - 1) F(n - 2),其中 n …...

对泰坦尼克号沉没事件幸存者数据分析和预测

一、分析目的 探究决定泰坦尼克号沉没事件中什么因素决定着船上人的生死,并对实例进行判别和预测。 二、数据介绍 Titanic.csv数据中包含了891个样本,记录了泰坦尼克号遇难时的891个乘客的基本信息,其中包括以下信息: Passenger…...

算法之排序算法

排序算法 ♥常见排序算法知识体系详解♥ | Java 全栈知识体系 算法 - 排序 | CS-Notes 面试笔记 十大经典排序算法总结 | JavaGuide...

DMA发送全部历史记录数据到串口

背景 博主参与的项目中,有个读取全部历史记录的功能,如果下位机在主程序中将全部历史记录单纯地通过串口传输会比较占用cpu资源,影响主程序中别的功能。最后商量得出以下实现方案: 定义两个发送缓冲区DMATxbuf1和DMATxbuf2&…...

蓝桥杯好题推荐-----高精度减法

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 题目链接 记录详情 - 洛谷 | 计算机科学教育新生态https://www.luogu.com.cn/record/205122671 思路讲解 这个题目的解题思路,其实是和高精度加法是非常像的。怎么说…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]

报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...

【若依】框架项目部署笔记

参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作: 压缩包下载:http://download.redis.io/releases 1. 上传压缩包,并进入压缩包所在目录,解压到目标…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...