實驗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.shapefiltered_image = np.zeros_like(image)padding = kernel_size // 2padded_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.shapefiltered_image = np.zeros_like(image)padding = kernel_size // 2padded_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.shapefiltered_image = np.zeros_like(image)padding = kernel_size // 2padded_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)是一種常用的深度學習模型,它利用圖像卷積層來提取圖像特征,并通過后續的分類和回歸層來識別圖像中的目標物體。
圖像分割:卷積神經網絡也被廣泛用于圖像分割任務,通過對圖像進行卷積操作,將圖像劃分為不同的區域或像素,并將每個區域或像素分配給特定的類別。
圖像超分辨率:圖像卷積在圖像超分辨率重建中有應用。通過將低分辨率圖像進行卷積和上采樣操作,可以生成高分辨率的圖像。
圖像風格轉換:卷積神經網絡可以通過卷積操作來學習不同風格圖像之間的特征表示,從而實現圖像風格的轉換。
圖像增強:卷積神經網絡可以通過卷積操作來學習圖像增強的映射函數,從而改善圖像的質量、對比度或顏色等方面。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38062.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38062.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38062.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【操作系統期末速成】 EP02 | 學習筆記(基于五道口一只鴨)

文章目錄 一、前言🚀🚀🚀二、正文:??????2.1 考點二:操作系統的功能及接口2.2 考點三:操作系統的發展及分類2.3 考點四:操作系統的運行環境(重要) 一、前言&#x…

從零開始三天學會微信小程序開發(三)

看到不少入門的小程序開發者不斷的問重復性的問題,我們從實戰角度開發了這個課程,希望能夠幫助大家了解小程序開發。 課程分三天: 第一天:微信小程序開發入門第二天:給小程序接入云端數據第三天:完善我的…

MySQL高級-MVCC- readview介紹

文章目錄 1、介紹2、ReadView中包含了四個核心字段:3、版本鏈數據的訪問規則:4、不同的隔離級別,生成ReadView的時機不同: 1、介紹 ReadView(讀視圖)是 快照讀 SQL執行時MVCC提取數據的依據,記錄…

【計算機組成原理實驗】——運算器組成實驗

計組TEC4實驗——運算器組成實驗 1. 實驗目的 (1)掌握算術邏輯運算加、減、乘、與的工作原理。 (2) 熟悉簡單運算器的數據傳送通路。 (3) 驗證實驗臺運算器的8位加、減、與、直通功能。 (4) 驗證實驗臺的4位乘4位功能。 (5) 按給定數據,完成幾種指…

SerDes介紹以及原語使用介紹(4)ISERDESE2原語仿真

文章目錄 前言一、iserdese2_module模塊二、oserdese2_module模塊三、頂層模塊四、仿真結果分析 前言 上文詳細介紹了ISERDESE2原語的使用,本文根據仿真對ISERDESE2原語的使用進一步加深印象。在仿真時,與OSERDESE進行回環。 一、iserdese2_module模塊…

昇思MindSpore學習筆記4--數據集 Dataset

昇思MindSpore學習筆記4--數據集 Dataset 摘要: 昇思MindSpore數據集Dataset的加載、數據集常見操作和自定義數據集方法。 一、數據集 Dataset概念 MindSpore數據引擎基于Pipeline 數據預處理相關模塊: 數據集Dataset加載原始數據,支持文本…

移動端H5應用,使用了postcss-px-to-viewport插件,750設計稿兼容Vant框架

目前在搞一個移動端的H5項目,使用的是Vue3Vant框架。設計稿是750的,而且使用了postcss-px-to-viewport。所以發現使用Vant框架的時候,發現有點問題,好像縮小了,后來百度了一下,是需要設置portcss.config.js…

vue components

vue components intro 組件是帶有名稱的可復用實例。 因為組件是可復用的組件實例,所以它們與根實例接收相同的選項,例如 data、computed、watch、methods 以及生命周期鉤子等。 組成 props: 組件的attributes,可以傳任意類型…

大創項目推薦 題目:基于機器視覺的圖像矯正 (以車牌識別為例) - 圖像畸變校正

文章目錄 0 簡介1 思路簡介1.1 車牌定位1.2 畸變校正 2 代碼實現2.1 車牌定位2.1.1 通過顏色特征選定可疑區域2.1.2 尋找車牌外圍輪廓2.1.3 車牌區域定位 2.2 畸變校正2.2.1 畸變后車牌頂點定位2.2.2 校正 7 最后 0 簡介 🔥 優質競賽項目系列,今天要分享…

題目的起名

整個經濟社會描繪為無數個交織的方程組。機場航班的起降時間、物流的路徑規劃、金屬冶煉的原料配比、工廠店鋪的選址……”而這些方程組的價值在于,“為了實現經濟學最簡單而又最權威的目標——對稀缺資源進行最佳利用,必須快速求出這些方程組的最優解。…

Leetcode3192. 使二進制數組全部等于 1 的最少操作次數 II

Every day a Leetcode 題目來源:3192. 使二進制數組全部等于 1 的最少操作次數 II 解法1:遍歷 由于 nums[i] 會被其左側元素的操作影響,所以我們先從最左邊的 nums[0] 開始思考。 分類討論: 如果 nums[0]1,無需反…

debian 安裝mongodb

安裝所需工具 apt install gnupg curl 添加公鑰 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 添加源 echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt…

amis-editor 注冊自定義組件

建議先將amis文檔從頭到尾,仔細看一遍。 參考:amis - 低代碼前端框架 amis 的渲染過程是將 json 轉成對應的 React 組件。先通過 json 的 type 找到對應的 Component,然后把其他屬性作為 props 傳遞過去完成渲染。 import * as React from …

Linux開發講課17--- 在shell腳本中,如何將一個命令存儲在一個變量中

問: 將一個命令保存到一個變量中,以便稍后再使用(不是命令的輸出,而是命令本身)。 有一個簡單的腳本如下: command"ls"; echo "Command: $command"; #Output is: Command: ls b$com…

c++ 給定一個非常巨大的數組,如何找到它的中值

快速選擇算法&#xff08;最優解&#xff09; #include <iostream> #include <vector> #include <algorithm>using namespace std;class Solution { private:// 快速選擇算法中的分區函數int partition(vector<int>& nums, int left, int right)…

逆向學習匯編篇:參數傳遞與返回地址的使用

本節課在線學習視頻&#xff08;網盤地址&#xff0c;保存后即可免費觀看&#xff09;&#xff1a; ??https://pan.quark.cn/s/b5b046015da2?? 在匯編語言中&#xff0c;函數調用和參數傳遞是編程的基礎組成部分。了解如何在匯編中傳遞參數以及如何處理返回地址對于逆向工…

LeetCode 78. 子集

更多題解盡在 https://sugar.matrixlab.dev/algorithm 每日更新。 組隊打卡&#xff0c;更多解法等你一起來參與哦&#xff01; LeetCode 78. 子集&#xff0c;難度中等。 迭代 解題思路&#xff1a; 初始化結果集 result&#xff0c;其中包含一個空集 []&#xff1b;遍歷數…

flex講解

隨著前端技術的不斷發展和更新&#xff0c;flex布局成為前端布局的主流。但是仍然有很多前端新手搞不懂flex到底怎么用&#xff01;&#xff01;&#xff01;今天我們就來好好講講flex布局 老規矩先上定義 什么是flex布局 布局的傳統解決方案&#xff0c;基于盒狀模型&#x…

鄭州高校大學智能制造實驗室數字孿生可視化系統平臺建設項目驗收

隨著制造業的轉型升級&#xff0c;智能化、信息化已成為制造業發展的必然趨勢。數字孿生技術作為智能制造領域的關鍵技術之一&#xff0c;它通過構建與實體系統相對應的虛擬模型&#xff0c;實現對實體系統的實時監測、預測和優化&#xff0c;為制造業的智能化、信息化提供了強…

LitelDE安裝---附帶每一步截圖以及測試

LiteIDE LiteIDE 是一款專為Go語言開發而設計的開源、跨平臺、輕量級集成開發環境&#xff08;IDE&#xff09;&#xff0c;基于 Qt 開發&#xff08;一個跨平臺的 C 框架&#xff09;&#xff0c;支持 Windows、Linux 和 Mac OS X 平臺。LiteIDE 的第一個版本發布于 2011 年 …