实验4 图像空间滤波

1. 实验目的

①掌握图像空间滤波的主要原理与方法;
②掌握图像边缘提取的主要原理和方法;
③了解空间滤波在图像处理和机器学习中的应用。

2. 实验内容

①调用 Matlab / Python +OpenCV中的函数,实现均值滤波、高斯滤波、中值滤波等。
②调用 Matlab /Python + OpenCV中的函数,实现边缘提取(Sobel、Robert、Laplacian、Prewitt、Canny等)。
③在Matlab/Python +OpenCV中,编程实现均值滤波,高斯滤波和中值滤波。

3. 实验过程

3.1 图像添加噪声

使用Matlab/Python +OpenCV中的加噪声函数,分别给同一幅图像中加入不同比例的高斯噪声、椒盐噪声、泊松噪声,并在图像中添加直线等干扰。
① 请填写以下函数对应的参数说明:

函数名函数功能参数说明
J = imnoise(I, ‘gaussian’, m, v)添加高斯噪声I:输入图像。 'gaussian':指定添加高斯噪声。 m:高斯分布的均值。 v:高斯分布的方差
J = imnoise(I, ‘salt & pepper’, d)添加椒盐噪声I:输入图像。 'salt & pepper':指定添加椒盐噪声。 d:控制噪声密度的参数,取值范围为0到1之间,表示噪声像素占总像素数的比例。
J = imnoise(I, ‘poisson’)添加泊松噪声I:输入图像。 'poisson':指定添加泊松噪声。
② 源代码及实验结果
%实验4-1 为图像添加噪声
% 读取图像
image = imread('lena.png');
image_gray = rgb2gray(image);
 
% 添加高斯噪声
gaussian_noise_image = imnoise(image_gray, 'gaussian', 0, 0.01);
 
% 添加椒盐噪声
salt_pepper_noise_image = imnoise(image_gray, 'salt & pepper', 0.05);
 
%泊松
% 将图像转换为双精度类型
image_gray_double = im2double(image_gray);
% 计算泊松噪声参数
lambda = 0.1 * mean(image_gray_double(:)); % 泊松分布的平均值
% 生成泊松噪声
poisson_noise = poissrnd(lambda, size(image_gray_double));
% 添加泊松噪声
poisson_noise_image_double = image_gray_double + poisson_noise;
% 将图像还原为8位无符号整数类型
poisson_noise_image = im2uint8(poisson_noise_image_double);
 
% 添加直线干扰
line_interference_image = insertShape(image_gray, 'Line', [1 1 size(image_gray,2) size(image_gray,2)], 'Color', 'white', 'LineWidth', 1);
 
% 显示原始图像和添加不同噪声的图像
figure;
subplot(2, 2, 1);
imshow(image_gray);
title('原始图像');
subplot(2, 2, 2);
imshow(gaussian_noise_image);
title('高斯噪声');
subplot(2, 2, 3);
imshow(salt_pepper_noise_image);
title('椒盐噪声');
subplot(2, 2, 4);
imshow(poisson_noise_image);
title('泊松噪声');
 
% 显示添加直线干扰后的图像
figure;
imshow(line_interference_image);
title('直线干扰');

在这里插入图片描述
在这里插入图片描述
③ 结果对比与分析(观察对比不同类型、参数噪声的特点)

高斯噪声(Gaussian Noise):
特点:高斯噪声是一种服从高斯分布(也称为正态分布)的随机噪声。它是一种连续性的噪声,呈现为图像中的随机亮度变化。
形成原因:高斯噪声可以由许多因素引起,例如电子设备的电子噪声、图像传感器的固有噪声等。
效果:高斯噪声对图像的影响主要体现在图像的平滑程度上,它会使图像的细节模糊化。
椒盐噪声(Salt and Pepper Noise):
特点:椒盐噪声是一种随机的、突发的噪声,表现为图像中出现亮白或暗黑的孤立像素点。
形成原因:椒盐噪声可能是因为信号损坏或传输错误导致像素值发生突变引起的。
效果:椒盐噪声会在图像中引入明显的孤立像素点,使图像出现突然的亮点或暗点。
泊松噪声(Poisson Noise):
特点:泊松噪声是由于光子计数的随机性导致的一种噪声。它在低光条件下的图像中更为常见。
形成原因:泊松噪声主要是由于光照条件下的随机光子计数引起的,例如低照度图像中的光子计数变化。
效果:泊松噪声会导致图像的亮度变化和细节的模糊,尤其在低光条件下会更加明显。

3.2 图像平滑

使用 Matlab/Python +OpenCV中的相关函数,对3.1中加噪的图像进行均值滤波、高斯滤波和中值滤波。
① 请填写以下函数对应的参数说明:

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

② 源代码及实验结果(添加必要注释)

%实验4-2 图像去除噪声实验
% 读取图像
image = imread('lena.png');
image_gray = rgb2gray(image);
 
% 添加高斯噪声
gaussian_noise_image = imnoise(image_gray, 'gaussian', 0, 0.01);
  
 
 
% 中值滤波
median_filtered = medfilt2(gaussian_noise_image, [3 3]);
% 均值滤波
mean_filtered = imfilter(gaussian_noise_image, fspecial('average', [3 3]));
 
% 高斯滤波
gaussian_filtered = imfilter(gaussian_noise_image, fspecial('gaussian', [4 4], 2));
 
% 显示原始图像和滤波后的图像
figure;
subplot(2, 2, 1), imshow(gaussian_noise_image), title('原始图像');
subplot(2, 2, 2), imshow(mean_filtered), title('均值滤波');
subplot(2, 2, 3), imshow(gaussian_filtered), title('高斯滤波');
subplot(2, 2, 4), imshow(median_filtered), title('中值滤波');

在这里插入图片描述
③ 实验结果对比与分析
对比不同类型和尺寸的滤波器的实验结果,分析原因,并总结对于含有不同噪声图像,如何选择合适的滤波器,可以达到较好的去噪和平滑效果。
对添加了高斯噪声的图像进行消噪处理,不同的消噪方法效果不一。应针对不同噪声选择不同的滤波器。

3.3 百分比滤波

使用 Matlab/Python +OpenCV中的相关函数,对原图和加噪的图像分别进行中值滤波、最大值滤波和最小值滤波。
① 请填写使用到的函数以及参数说明:

在这里插入图片描述

② 源代码及实验结果(添加必要注释)

%实验4—3 对图像进行中值滤波、最大值滤波和最小值滤波。
% 读取原图像
image = imread('lena.png');
original_image = rgb2gray(image);
% 生成加噪图像(这里假设添加了椒盐噪声)
noisy_image = imnoise(original_image, 'salt & pepper', 0.1);
 
% 中值滤波
median_filtered_original = medfilt2(original_image, [3 3]);
median_filtered_noisy = medfilt2(noisy_image, [3 3]);
 
% 最大值滤波
max_filtered_original = ordfilt2(original_image, 9, ones(3, 3));
max_filtered_noisy = ordfilt2(noisy_image, 9, ones(3, 3));
 
% 最小值滤波
min_filtered_original = ordfilt2(original_image, 1, ones(3, 3));
min_filtered_noisy = ordfilt2(noisy_image, 1, ones(3, 3));
 
% 显示原始图像和滤波后的图像
figure;
subplot(3, 2, 1), imshow(original_image), title('原始图像');
subplot(3, 2, 2), imshow(median_filtered_original), title('中值滤波(原始图像)');
subplot(3, 2, 3), imshow(original_image), title('原始图像');
subplot(3, 2, 4), imshow(min_filtered_original), title('最小值滤波(原始图像)');
subplot(3, 2, 5), imshow(original_image), title('原始图像');
subplot(3, 2, 6), imshow(max_filtered_original), title('最大值滤波(原始图像)');
 
figure;
subplot(3, 2, 1), imshow(noisy_image), title('加噪图像');
subplot(3, 2, 2), imshow(max_filtered_noisy), title('最大值滤波(加噪图像)');
subplot(3, 2, 3), imshow(noisy_image), title('加噪图像');
subplot(3, 2, 4), imshow(median_filtered_noisy), title('中值滤波(加噪图像)');
subplot(3, 2, 5), imshow(noisy_image), title('加噪图像');
subplot(3, 2, 6), imshow(min_filtered_noisy), title('最小值滤波(加噪图像)');

在这里插入图片描述
③ 实验结果对比与分析
观察实验结果,分析原因,思考中值滤波、最大值滤波和最小值滤波可能的应用场景。
1.中值滤波(Median Filter):
中值滤波主要用于去除图像中的椒盐噪声(Salt-and-Pepper Noise)。当图像受到高斯模糊或摄像机移动等因素的影响时,可能会出现椒盐噪声。中值滤波通过取像素周围邻域内的中值来消除噪声,保留图像的边缘信息。因此,适用于去除高斯噪声或降低图像噪声的场景。

2.最大值滤波(Maximum Filter):
最大值滤波主要用于增强图像的对比度。当图像的亮度分布不均匀时,可以通过最大值滤波来突出图像中的最大亮度值,使得图像的整体亮度更加均匀。因此,适用于调整光照不均或需要增强图像对比度的场景。

3.最小值滤波(Minimum Filter):
最小值滤波与最大值滤波相反,它主要用于减弱图像的对比度。当图像的亮度分布不均匀时,可以通过最小值滤波来突出图像中的最小亮度值,使得图像的整体亮度更加均匀。因此,适用于调整光照不均或需要减弱图像对比度的场景。

3.4 边缘提取和图像锐化

使用 Matlab / Python +OpenCV中的边缘提取函数,分别提取图像的Sobel、Robert、Laplacian、Prewitt、Canny边缘。
① 请填写使用到的函数以及参数说明:
在这里插入图片描述

② 边缘提取
源代码及实验结果(源代码添加必要注释,结果展示使用不同边缘提取算子的效果)

% 实验4—4 图像的边缘提取
% 读取图像
image = imread('lena.png');
 
% 将图像转换为灰度图像(如果原始图像是彩色图像)
gray_image = rgb2gray(image);
 
% 使用Sobel算子进行边缘提取
sobel_edge = edge(gray_image, 'Sobel');
 
% 使用Robert算子进行边缘提取(当前版本不支持该算子)
%robert_edge = edge(gray_image, 'Robert');
 
% 使用Laplacian算子进行边缘提取
laplacian_edge = edge(gray_image, 'log');
 
% 使用Prewitt算子进行边缘提取
prewitt_edge = edge(gray_image, 'Prewitt');
 
% 使用Canny算子进行边缘提取
canny_edge = edge(gray_image, 'Canny');
 
% 显示原始图像和边缘提取结果
subplot(2, 3, 1), imshow(image), title('Original Image');
subplot(2, 3, 2), imshow(sobel_edge), title('Sobel Edge');
%subplot(2, 3, 3), imshow(robert_edge), title('Robert Edge');
subplot(2, 3, 4), imshow(laplacian_edge), title('Laplacian Edge');
subplot(2, 3, 5), imshow(prewitt_edge), title('Prewitt Edge');
subplot(2, 3, 6), imshow(canny_edge), title('Canny Edge');

在这里插入图片描述
③ 图像锐化
源代码及实验结果(源代码添加必要注释,结果展示使用不同边缘提取算子的效果)使用边缘提取的结果,对图像进行锐化。

%实验4—5 图像的锐化
% 读取图像
image = imread('lena.png');
 
% 将图像转换为灰度图像(如果原始图像是彩色图像)
gray_image = rgb2gray(image);
 
% 定义锐化滤波器
sharp_filter = [0 -1 0; -1 5 -1; 0 -1 0];
 
% 应用锐化滤波器
sharpened_image = imfilter(gray_image, sharp_filter);
 
% 调整锐化结果的对比度
sharpened_image = imadjust(sharpened_image);
 
% 显示原始图像和锐化结果
subplot(1, 2, 1), imshow(gray_image), title('原始图像');
subplot(1, 2, 2), imshow(sharpened_image), title('锐化图像');

在这里插入图片描述
④ 实验结果对比与分析
对比实验结果结果,分析原因,并总结不同边缘提取算法的特点和适用情况。
Sobel算子:
特点:Sobel算子使用一阶导数来检测图像中的边缘,对噪声有一定的抵抗能力。它分别计算水平和垂直方向的梯度,并将它们合并成一个梯度值。
适用情况:Sobel算子适用于检测较明显的边缘,尤其是具有明显方向性的边缘,如图像中的边界和轮廓。
Prewitt算子:
特点:Prewitt算子与Sobel算子类似,也使用一阶导数来检测图像中的边缘。它分别计算水平和垂直方向的梯度,并将它们合并成一个梯度值。
适用情况:Prewitt算子适用于检测边缘,尤其是在具有明显方向性的边缘的情况下。
Laplacian算子:
特点:Laplacian算子使用二阶导数来检测图像中的边缘。它对边缘的精确位置和方向有更好的响应,并且可以检测到更细微的边缘变化。
适用情况:Laplacian算子适用于检测细微的边缘和纹理变化,但对噪声比较敏感。
Canny算子:
特点:Canny算子是一种多阶段的边缘检测算法,具有很好的性能。它首先使用高斯滤波器进行平滑处理,然后计算梯度,然后通过非极大值抑制和双阈值处理来提取边缘。
适用情况:Canny算子适用于需要高质量边缘检测的情况,对噪声有较好的抵抗能力,并且可以调整阈值以控制检测到的边缘数量。

3.5 自定义函数实现图像滤波

⑴不调用Matlab / OpenCV中的函数,编程实现图像的均值滤波,高斯滤波和中值滤波。
⑵与3.2、3.3的实验结果进行对比,观察实验结果是否相同,分析原因并改进、优化所编写程序。
⑶将所编写程序段封装为自定义函数。
① 均值滤波
源代码及实验结果 (添加必要注释)

def mean_filter(image, kernel_size):
    """
    均值滤波函数
    :param image: 输入图像
    :param kernel_size: 滤波器大小
    :return: 滤波后的图像
    """
    width, height = image.shape
    filtered_image = np.zeros_like(image)

    padding = kernel_size // 2
    padded_image = np.pad(image, ((padding, padding), (padding, padding)), mode='constant')

    for i in range(padding, width + padding):
        for j in range(padding, height + padding):
            neighborhood = padded_image[i - padding:i + padding + 1, j - padding:j + padding + 1]
            filtered_image[i - padding, j - padding] = np.mean(neighborhood)

    return filtered_image

② 高斯滤波

def gaussian_filter(image, kernel_size, sigma):
    """
    高斯滤波函数
    :param image: 输入图像
    :param kernel_size: 滤波器大小
    :param sigma: 高斯核的标准差
    :return: 滤波后的图像
    """
    width, height = image.shape
    filtered_image = np.zeros_like(image)

    padding = kernel_size // 2
    padded_image = np.pad(image, ((padding, padding), (padding, padding)), mode='constant')

    kernel = gaussian_kernel(kernel_size, sigma)

    for i in range(padding, width + padding):
        for j in range(padding, height + padding):
            neighborhood = padded_image[i - padding:i + padding + 1, j - padding:j + padding + 1]
            filtered_image[i - padding, j - padding] = np.sum(neighborhood * kernel)

    return filtered_image

③ 中值滤波:

def median_filter(image, kernel_size):
    """
    中值滤波函数
    :param image: 输入图像
    :param kernel_size: 滤波器大小
    :return: 滤波后的图像
    """
    width, height = image.shape
    filtered_image = np.zeros_like(image)

    padding = kernel_size // 2
    padded_image = np.pad(image, ((padding, padding), (padding, padding)), mode='constant')

    for i in range(padding, width + padding):
        for j in range(padding, height + padding):
            neighborhood = padded_image[i - padding:i + padding + 1, j - padding:j + padding + 1]
            filtered_image[i - padding, j - padding] = np.median(neighborhood)

    return filtered_image

4. 实验小结

①在PhotoShop中找一找,有哪些功能是通过图像空间滤波实现的。
答:模糊/平滑滤波:通过应用均值滤波、高斯滤波或其他模糊滤波器来减少图像的细节和噪点,从而使图像更加平滑。
锐化滤波:通过应用锐化滤波器(如拉普拉斯滤波器)来增强图像的边缘和细节,使图像更加清晰和锐利。
边缘检测:通过应用边缘检测滤波器(如Sobel、Prewitt或Canny)来检测图像中的边缘和轮廓,以突出图像中的边界信息。
噪点去除:通过应用中值滤波器或其他噪点去除滤波器来减少图像中的椒盐噪点、高斯噪点或其他类型的噪点。
高动态范围(HDR)合成:通过应用图像空间滤波器和曝光调整来合成具有高动态范围的图像,以获得更广泛的亮度范围和更丰富的细节。
美颜和皮肤磨皮:通过应用柔化和模糊滤波器来减少皮肤上的细纹和瑕疵,实现美颜和皮肤磨皮效果。
②分析和总结3.2、3.3、3.4的实验结果,能够得到哪些启发或结论?
答:针对不同的图像和预期效果,可以选择不同的处理方案
③为了方便复用3.5的自定义函数,应该怎样设计和封装更加合理?你还能想到哪些进一步改进和优化的方法?
答:考虑多种不同的图像的滤波方案,同时设计良好的滤波思路,提高程序的鲁棒性。
④根据实验内容和结果,并查找相关资料,想一想,图像卷积在数字图像处理、机器学习、深度学习中有哪些应用?
答:图像滤波:图像卷积可以用于应用各种滤波器来实现图像平滑、边缘增强、噪点去除等操作。常见的滤波器包括均值滤波、高斯滤波、中值滤波等。
特征提取:在机器学习和计算机视觉任务中,图像卷积被广泛用于提取图像的特征。通过应用不同的卷积核,可以捕捉到图像中的边缘、纹理、形状等特征,为后续的分类、目标检测、分割等任务提供输入。
目标检测:在目标检测任务中,卷积神经网络(CNN)是一种常用的深度学习模型,它利用图像卷积层来提取图像特征,并通过后续的分类和回归层来识别图像中的目标物体。
图像分割:卷积神经网络也被广泛用于图像分割任务,通过对图像进行卷积操作,将图像划分为不同的区域或像素,并将每个区域或像素分配给特定的类别。
图像超分辨率:图像卷积在图像超分辨率重建中有应用。通过将低分辨率图像进行卷积和上采样操作,可以生成高分辨率的图像。
图像风格转换:卷积神经网络可以通过卷积操作来学习不同风格图像之间的特征表示,从而实现图像风格的转换。
图像增强:卷积神经网络可以通过卷积操作来学习图像增强的映射函数,从而改善图像的质量、对比度或颜色等方面。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java基于ssm+jsp 多用户博客个人网站

1管理员功能模块 管理员登录,管理员通过输入用户名、密码等信息进行系统登录,如图1所示。 图1管理员登录界面图 管理员登录进入个人网站可以查看;个人中心、博文类型管理、学生博客管理、学生管理、论坛信息、管理员管理、我的收藏管理、留…

Linux多进程和多线程(一)-进程的概念和创建

进程 进程的概念进程的特点如下进程和程序的区别LINUX进程管理 getpid()getppid() 进程的地址空间虚拟地址和物理地址进程状态管理进程相关命令 ps toppstreekill 进程的创建 并发和并行fork() 父子进程执行不同的任务创建多个进程 进程的退出 exit()和_exit() exit()函数让当…

微短剧市场还能火多久?短剧小程序是否有必要搭建?,现在入场到底晚不晚?

我公司在2019年开始都是做软件开发的,从2022到现在(2024)特别深有体会,在2022年的时候我公司还是在全部做外包项目,一年大概遇到了10多个咨询短剧领域的软件定制,但是当时我只是以为是一个影视播放的程序&a…

7.优化算法之分治-快排归并

0.分治 分而治之 1.颜色分类 75. 颜色分类 - 力扣(LeetCode) 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数…

推动多模态智能模型发展:大型视觉语言模型综合多模态评测基准

随着人工智能技术的飞速发展,大型视觉语言模型(LVLMs)在多模态应用领域取得了显著进展。然而,现有的多模态评估基准测试在跟踪LVLMs发展方面存在不足。为了填补这一空白,本文介绍了MMT-Bench,这是一个全面的…

Django 模版继承

1&#xff0c;设计母版页 Test/templates/6/base.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><!-- 修正了模板标签的全角字符问题 -->{% block title %}<title>这个是母版页</title>{…

leetCode.93. 复原 IP 地址

leetCode.93. 复原 IP 地址 题目思路&#xff1a; 代码 // 前导零的判断方法&#xff1a;如果第一个数是0&#xff0c;且第二个数还有数据&#xff0c;那就是前导0&#xff0c;要排除的 // 注意跟单个 0 区分开 class Solution { public:vector<string> res;vector<…

Opencv+python模板匹配

我们经常玩匹配图像或者找相似&#xff0c;opencv可以很好实现这个简单的小功能。 模板是被查找目标的图像&#xff0c;查找模板在原始图像中的哪个位置的过程就叫模板匹配。OpenCV提供的matchTemplate()方法就是模板匹配方法&#xff0c;其语法如下&#xff1a; result cv2.…

【活动感想】筑梦之旅·AI共创工坊 workshop 会议回顾

目录 &#x1f30a;1. 会议详情 &#x1f30a;2. 会议回顾 &#x1f30d;2.1 主持人开场 &#x1f30d;2.2 元甲-小当家 AI 驱动的创意儿童营养早餐料理机&今天吃什么App &#x1f30d;2.3 Steven- A l 心理疗愈认知 &#x1f30d;2.4 伯棠-诸子百家(xExperts)-多智能…

私有部署Twikoo评论系统

原文&#xff1a;https://blog.c12th.cn/archives/12.html 前言 以前用 MongoDB Vercel 搭建 Twikoo 老是有点小问题&#xff0c;所以就放弃了。无意中看到可以用 docker 来搭建&#xff0c;正好有台服务器可以尝试下。 私有部署 Twikoo 版本要求 1.6.0 或以上 &#xff0c; …

AMD Anti-Lag 2抗延迟技术落地 CS2首发、延迟缩短95%

AMD发布了全新重磅驱动程序Adrenalin 24.6.1版本&#xff0c;包括首发落地Anti-Lag 2抗延迟技术、优化支持新游戏、升级支持HYPR-Tune、支持新操作系统、优化AI加速与开发、扩展支持Agility SDK、修复已知Bug&#xff0c;等等。 一、Anti-Lag 2 今年5月份刚宣布&#xff0c;重…

【计算机毕业设计】基于Springboot的智能物流管理系统【源码+lw+部署文档】

包含论文源码的压缩包较大&#xff0c;请私信或者加我的绿色小软件获取 免责声明&#xff1a;资料部分来源于合法的互联网渠道收集和整理&#xff0c;部分自己学习积累成果&#xff0c;供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者…

信号与系统-实验6-离散时间系统的 Z 域分析

一、实验目的 1、掌握 z 变换及其性质&#xff1b;了解常用序列的 z 变换、逆 z 变换&#xff1b; 2、掌握利用 MATLAB 的符号运算实现 z 变换&#xff1b; 3、掌握利用 MATLAB 绘制离散系统零、极点图的方法&#xff1b; 4、掌握利用 MATLAB 分析离散系统零、极点的方法&a…

kicad第三方插件安装问题

在使用KICAD时想安装扩展内容&#xff0c;但是遇到下载失败&#xff0c;因为SSL connect error。 因为是公司网络&#xff0c;我也不是很懂&#xff0c;只能另寻他法。找到如下方法可以曲线救国。 第三方插件包目录 打开存放第三方插件存放目录&#xff0c;用于存放下载插件包…

vue3+vite+nodejs,通过接口的形式请求后端打包(可打包全部或指定打包组件)

项目地址https://gitee.com/sybb011016/test_build 打包通过按钮的形式请求接口&#xff0c;让后端进行打包&#xff0c;后端使用express-generator搭建模版。前端项目就在npm init vuelatest基础上添加了路由 如果只想打包AboutView组件&#xff0c;首先修改后端接口。 //打…

Linux如何安装openjdk1.8

文章目录 Centosyum安装jdk和JRE配置全局环境变量验证ubuntu使用APT(适用于Ubuntu 16.04及以上版本)使用PPA(可选,适用于需要特定版本或旧版Ubuntu)Centos yum安装jdk和JRE yum install java-1.8.0-openjdk-devel.x86_64 安装后的目录 配置全局环境变量 vim /etc/pr…

运营商、银行、国企等单位开发岗24届Offer薪资与福利汇总

本文介绍24届校园招聘中&#xff0c;地理信息科学&#xff08;GIS&#xff09;专业硕士研究生所得Offer的整体薪资情况、福利待遇等。 在2024届秋招与春招中&#xff0c;我累计投递了170余个单位&#xff0c;获得17个Offer&#xff1b;平均每投递10个简历才能获得1个Offer。说句…

2024年6月29日 每周新增游戏

图吧工具箱: 全名图拉丁吧硬件检测工具箱,是开源、免费、绿色、纯净的硬件检测工具合集,专为图钉及所有DIY爱好者制作,包含常用硬件测试和检测工具,月工JS必备! iGuzheng爱古筝iguzheng古筝是一款可以在线模拟古筝练习的软件&#xff0c;用户可以直接在手机上练习古筝&#xff…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 6月30日,星期日

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年6月30日 星期日 农历五月廿五 1、 气象台继续发布暴雨红色预警&#xff1a;30日&#xff0c;安徽、湖南等地局地有特大暴雨。 2、 稀土管理条例公布&#xff1a;任何组织和个人不得侵占或者破坏稀土资源。 3、 暑期全国将…

ubuntu丢失网络/网卡的一种原因解决方案

现象 开机进入ubuntu后发现没有网络&#xff0c;无论是在桌面顶部状态栏的快捷键 还是 系统设置中&#xff0c;都没有”有线网“和”无线网“的选项&#xff0c;”代理“的选项是有的使用数据线连接电脑和手机&#xff0c;手机开启”通过usb共享网络“&#xff0c;还是没有任何…