OpenCV day6

函數內容接上文:OpenCV day4-CSDN博客? ,?OpenCV day5-CSDN博客

目錄

平滑(模糊)

25.cv2.blur():

26.cv2.boxFilter():

27.cv2.GaussianBlur():

28.cv2.medianBlur():

29.cv2.bilateralFilter():

銳化與邊緣檢測

30.cv2.filter2D():

31.cv2.Sobel():

32.cv2.Scharr():

33.cv2.Laplacian():

34.cv2.Canny():

繪圖與標注

35.cv2.line():

36.cv2.rectangle():

37.cv2.polylines():

38.cv2.ellipse():

39.cv2.circle():

40.cv2.putText():

輪廓分析

41.cv2.findContours():

42.cv2.drawContours():

43.cv2.approxPolyDP():


平滑(模糊)

25.cv2.blur():

功能對圖像進行均值模糊(平滑處理),通過鄰域像素的平均值減少噪聲或細節。
參數1.?src:輸入圖像(單通道或多通道)。
2.?ksize:模糊核大小(如?(5,5))。
3.?anchor(可選):錨點位置(默認?(-1,-1)?表示核中心)。
4.?borderType(可選):邊界填充方式(如?cv2.BORDER_DEFAULT)。
返回值模糊后的圖像(numpy.ndarray)。

關鍵點

  • 均值濾波:核內所有像素取平均,適用于簡單去噪(但可能邊緣模糊)。

  • 核大小ksize?必須是正奇數(如?(3,3)(5,5))。

26.cv2.boxFilter():

功能對圖像進行方框濾波(均值濾波的通用版本,可控制歸一化)。
參數1.?src:輸入圖像。
2.?ddepth:輸出圖像深度(如?-1?表示與輸入相同)。
3.?ksize:濾波核大小(如?(3,3))。
4.?normalize(可選):是否歸一化(默認?True,效果同?cv2.blur())。
5.?anchor(可選):錨點位置(默認核中心)。
6.?borderType(可選):邊界填充方式(如?cv2.BORDER_REFLECT)。
返回值濾波后的圖像(numpy.ndarray)。

關鍵特性

  • 歸一化normalize=True?時等同于?cv2.blur()(求均值),False?時直接求和(可能導致值溢出)。

  • 靈活性:可自定義輸出圖像深度(如?cv2.CV_32F?保留浮點結果)。

27.cv2.GaussianBlur():

功能對圖像進行高斯模糊(基于高斯分布的加權平均濾波,有效減少噪聲并保留邊緣)。
參數1.?src:輸入圖像(支持多通道)。
2.?ksize:高斯核大小(寬高為正奇數,如(5,5))。
3.?sigmaX:X方向標準差(控制模糊強度,0表示自動計算)。
4.?sigmaY(可選):Y方向標準差(默認同sigmaX)。
5.?borderType(可選):邊界填充方式(如cv2.BORDER_DEFAULT)。
返回值高斯模糊后的圖像(numpy.ndarray)。

關鍵特性

  • 高斯權重:中心像素權重高,邊緣權重低,比均值模糊更保邊緣。

  • 標準差sigma越大,模糊效果越強(若為0,則根據ksize自動計算)。

  • 核大小:必須是正奇數(如(3,3)(5,5))。

28.cv2.medianBlur():

功能對圖像進行中值模糊(用鄰域像素的中值替代中心像素,有效去除椒鹽噪聲)。
參數1.?src:輸入圖像(支持單通道或多通道,但深度需為CV_8UCV_32F)。
2.?ksize:濾波核大小(必須為大于1的奇數,如3、5等)。
返回值中值濾波后的圖像(numpy.ndarray)。

關鍵特性

  • 非線性濾波:取鄰域中位數,非均值/加權平均,適合去除椒鹽噪聲(突發的黑白噪點)。

  • 保護邊緣:相比均值模糊,能更好保留銳利邊緣。

  • 核限制:核大小必須是奇數(如3、5、7),且不能為1。

29.cv2.bilateralFilter():

功能對圖像進行雙邊濾波,在平滑噪聲的同時保留邊緣(非線性能量保持濾波)。
參數1.?src:輸入圖像(8位或浮點型,單通道或多通道)。
2.?d:鄰域直徑(若≤0則根據sigmaSpace計算)。
3.?sigmaColor:顏色空間標準差(控制顏色相似性權重)。
4.?sigmaSpace:坐標空間標準差(控制距離權重)。
5.?borderType(可選):邊界填充方式(默認cv2.BORDER_DEFAULT)。
返回值濾波后的圖像(numpy.ndarray)。

關鍵特性

  • 邊緣保留:結合顏色相似性空間距離雙重權重,避免邊緣模糊。

  • 參數敏感sigmaColor越大,顏色容忍度越高;sigmaSpace越大,遠處像素影響越大。

  • 計算較慢:比高斯濾波耗時,適合小區域或實時性要求不高的場景。

銳化與邊緣檢測

30.cv2.filter2D():

功能對圖像進行自定義卷積操作,通過用戶定義的核(Kernel)實現濾波效果。
參數1.?src:輸入圖像(單通道或多通道)。
2.?ddepth:輸出圖像深度(如?-1?表示與輸入相同)。
3.?kernel:卷積核(numpy.ndarray,需為單通道浮點矩陣)。
4.?anchor(可選):核的錨點位置(默認中心)。
5.?delta(可選):卷積后疊加的常數(默認0)。
6.?borderType(可選):邊界填充方式(如?cv2.BORDER_CONSTANT)。
返回值卷積后的圖像(numpy.ndarray)。

關鍵特性

  • 靈活性強:可自定義核實現銳化、邊緣檢測、模糊等效果。

  • 數學本質:核與圖像局部區域做點乘后求和(離散卷積運算)。

  • 邊界處理:默認填充黑色,可通過?borderType?調整

31.cv2.Sobel():

功能使用Sobel算子計算圖像的一階梯度(用于邊緣檢測)。
參數1.?src:輸入圖像(單通道)。
2.?ddepth:輸出圖像深度(如cv2.CV_64F保留負梯度)。
3.?dx:x方向導數階數(如1表示檢測垂直邊緣)。
4.?dy:y方向導數階數(如1表示檢測水平邊緣)。
5.?ksize(可選):Sobel核大小(默認3,僅支持1/3/5/7)。
6.?scale(可選):縮放因子(默認1)。
7.?delta(可選):結果疊加的常數(默認0)。
8.?borderType(可選):邊界填充方式(默認cv2.BORDER_DEFAULT)。
返回值梯度圖像(numpy.ndarray)。

關鍵特性

  1. 梯度方向

    • dx=1, dy=0:檢測垂直邊緣(對x方向求導)。

    • dx=0, dy=1:檢測水平邊緣(對y方向求導)。

    • dx=1, dy=1:同時檢測兩個方向的邊緣(不常用,推薦分開計算后合并)。

  2. 核大小

    • ksize=1:使用1×3或3×1核(無高斯平滑)。

    • ksize=3(默認):3×3核,含高斯權重,抗噪性更好。

  3. 輸出深度

    • 使用cv2.CV_64F保留負梯度值,最后取絕對值:

grad_x = cv2.Sobel(img, cv2.CV_64F, 1, 0)
abs_grad = cv2.convertScaleAbs(grad_x)  # 轉為8位無符號

32.cv2.Scharr():

項目說明
功能使用Scharr算子計算圖像的一階梯度(比Sobel更精確的邊緣檢測)。
參數1.?src:輸入圖像(單通道)。
2.?ddepth:輸出圖像深度(如cv2.CV_64F)。
3.?dx:x方向導數階數(1或0)。
4.?dy:y方向導數階數(1或0)。
5.?scale(可選):縮放因子(默認1)。
6.?delta(可選):結果疊加的常數(默認0)。
7.?borderType(可選):邊界填充方式(默認cv2.BORDER_DEFAULT)。
返回值梯度圖像(numpy.ndarray)。

核心特性

  1. 與Sobel的對比

    • 更高精度:Scharr算子使用3×3核時,對梯度的近似計算比Sobel更精確(尤其對對角邊緣)。

    • 固定核大小:僅支持ksize=3(不可像Sobel那樣選擇1/5/7)。

  2. 梯度方向

    • dx=1, dy=0:檢測垂直邊緣

    • dx=0, dy=1:檢測水平邊緣

    • 不支持dx=dy=1(需分開計算后合并)。

33.cv2.Laplacian():

項目說明
功能使用拉普拉斯算子計算圖像的二階導數,用于邊緣檢測(對噪聲敏感,但能檢測全方向邊緣)。
參數1.?src:輸入圖像(單通道)。
2.?ddepth:輸出圖像深度(如?cv2.CV_64F?保留負值)。
3.?ksize(可選):核大小(默認1,僅支持1/3/5/7)。
4.?scale(可選):縮放因子(默認1)。
5.?delta(可選):結果疊加的常數(默認0)。
6.?borderType(可選):邊界填充方式(默認?cv2.BORDER_DEFAULT)。
返回值二階梯度圖像(numpy.ndarray)。

34.cv2.Canny():

功能使用Canny算法進行多階段邊緣檢測(低錯誤率+邊緣細化)。
參數1.?image:輸入圖像(必須為單通道灰度圖)。
2.?threshold1:低閾值(弱邊緣篩選)。
3.?threshold2:高閾值(強邊緣確認)。
4.?apertureSize(可選):Sobel算子核大小(默認3)。
5.?L2gradient(可選):梯度計算方式(True用L2范數更精確,默認False用L1范數)。
返回值二值邊緣圖像(numpy.ndarray,邊緣=255,背景=0)。

關鍵特性

  1. 雙閾值機制

    • 強邊緣:梯度值 >?threshold2?→ 保留。

    • 弱邊緣threshold1?< 梯度值 ≤?threshold2?→ 僅當與強邊緣連接時保留。

    • 建議比例threshold2 ≈ 2×threshold1(如?50, 150)。

  2. 處理流程

    
    
  3. 輸出效果

    • 邊緣為細線(1像素寬),背景純黑。

    • 對噪聲魯棒,但依賴閾值參數調優。

繪圖與標注

35.cv2.line():

功能在圖像上繪制一條線段。
參數1.?img:輸入圖像(直接修改該圖像)。
2.?pt1:線段起點坐標?(x1, y1)
3.?pt2:線段終點坐標?(x2, y2)
4.?color:線條顏色(BGR三元組,如?(255,0,0)?表示紅色)。
5.?thickness(可選):線條粗細(默認1)。
6.?lineType(可選):線條類型(如?cv2.LINE_AA?抗鋸齒)。
7.?shift(可選):坐標小數位數(默認0)。
返回值無(直接修改輸入圖像)。

關鍵特性

  1. 坐標系統

    • 原點?(0,0)?在圖像左上角,x向右增長,y向下增長。

  2. 線條樣式

    • lineType=cv2.LINE_AA:抗鋸齒線條(更平滑,但速度稍慢)。

    • lineType=cv2.LINE_8:8連通快速繪制(默認)。

  3. 顏色模式

    • BGR順序:OpenCV默認格式(與RGB相反),例如紅色為?(0,0,255)

36.cv2.rectangle():

功能在圖像上繪制矩形(空心或實心)。
參數1.?img:輸入圖像(直接修改該圖像)。
2.?pt1:矩形左上角坐標?(x1, y1)
3.?pt2:矩形右下角坐標?(x2, y2)
4.?color:矩形顏色(BGR三元組,如?(0,255,0)?表示綠色)。
5.?thickness(可選):線條粗細(默認1,負數表示填充矩形)。
6.?lineType(可選):線條類型(如?cv2.LINE_AA?抗鋸齒)。
7.?shift(可選):坐標小數位數(默認0)。
返回值無(直接修改輸入圖像)。

關鍵特性

  1. 坐標定義

    • pt1?和?pt2?分別對應矩形的左上角右下角(無需保證?x2>x1?或?y2>y1,函數會自動處理)。

  2. 填充模式

    • thickness=-1:用指定顏色填充整個矩形。

    • thickness≥1:繪制空心矩形邊框。

  3. 顏色與樣式

    • BGR順序:例如藍色為?(255,0,0)

    • lineType=cv2.LINE_AA:抗鋸齒邊框(適合傾斜矩形)。

37.cv2.polylines():

功能在圖像上繪制一個或多個多邊形(空心或實心)。
參數1.?img:輸入圖像(直接修改該圖像)。
2.?pts:多邊形頂點數組(格式見示例)。
3.?isClosed:是否閉合多邊形(True=首尾相連)。
4.?color:線條顏色(BGR三元組)。
5.?thickness(可選):線條粗細(默認1)。
6.?lineType(可選):線條類型(如?cv2.LINE_AA)。
7.?shift(可選):坐標小數位數(默認0)。
返回值無(直接修改輸入圖像)。

關鍵特性

  1. 頂點格式

    • 單個多邊形:np.array([[x1,y1], [x2,y2], ...], dtype=np.int32)

    • 多個多邊形:[poly1_pts, poly2_pts, ...](列表包裹多個數組)

  2. 閉合控制

    • isClosed=True:自動連接首尾點(如繪制五角星)。

    • isClosed=False:開放路徑(如繪制折線)。

  3. 批量繪制

    • 可一次性繪制多個多邊形,比循環調用?cv2.line()?更高效。

38.cv2.ellipse():

項目說明
功能在圖像上繪制橢圓(空心或實心)、圓弧或扇形。
參數1.?img:輸入圖像(直接修改)。
2.?center:橢圓中心?(x,y)
3.?axes:主軸長度?(長軸,短軸)
4.?angle:旋轉角度(順時針,度)。
5.?startAngle:起始角度(0°為3點鐘方向)。
6.?endAngle:結束角度(如360°完整橢圓)。
7.?color:顏色(BGR)。
8.?thickness(可選):線寬(默認1,-1填充)。
9.?lineType(可選):線型(如cv2.LINE_AA)。
10.?shift(可選):坐標小數位數(默認0)。
返回值無(直接修改輸入圖像)。

關鍵特性

  1. 角度定義

    • angle:橢圓整體旋轉角度(如0°時長軸水平)。

    • startAngle/endAngle:局部弧線范圍(0°→360°繪制完整橢圓)。

  2. 填充模式

    • thickness=-1:填充圖形(如繪制實心圓)。

    • thickness≥1:繪制邊框。

  3. 特殊圖形

    • :設?axes=(r,r)?且?angle=0

    • 扇形:設?startAngle=30, endAngle=270

39.cv2.circle():

功能在圖像上繪制圓形(空心或實心)。
參數1.?img:輸入圖像(直接修改)。
2.?center:圓心坐標?(x,y)
3.?radius:圓半徑(像素)。
4.?color:顏色(BGR三元組)。
5.?thickness(可選):線寬(默認1,-1表示填充)。
6.?lineType(可選):線型(如?cv2.LINE_AA?抗鋸齒)。
7.?shift(可選):坐標小數位數(默認0)。
返回值無(直接修改輸入圖像)。

關鍵特性

  1. 坐標系統

    • 圓心?(x,y)?的坐標系原點在圖像左上角,x向右增長,y向下增長。

  2. 填充模式

    • thickness=-1:繪制實心圓(如標記目標中心點)。

    • thickness≥1:繪制空心圓(如標記檢測框)。

  3. 抗鋸齒

    • lineType=cv2.LINE_AA:邊緣平滑(適合高分辨率圖像)。

    • lineType=cv2.LINE_8:快速繪制(默認)

40.cv2.putText():

項目說明
功能在圖像上繪制文字(支持多種字體、大小和樣式)。
參數1.?img:輸入圖像(直接修改)。
2.?text:要繪制的字符串。
3.?org:文字左下角起點?(x,y)
4.?fontFace:字體類型(如?cv2.FONT_HERSHEY_SIMPLEX)。
5.?fontScale:字體縮放因子(大小)。
6.?color:文字顏色(BGR三元組)。
7.?thickness(可選):文字粗細(默認1)。
8.?lineType(可選):線型(如?cv2.LINE_AA)。
9.?bottomLeftOrigin(可選):坐標系原點是否在左下角(默認False,即左上角)。
返回值無(直接修改輸入圖像)。

關鍵特性

  1. 字體支持

    • 常用字體:cv2.FONT_HERSHEY_SIMPLEX(標準)、cv2.FONT_HERSHEY_SCRIPT_SIMPLEX(手寫體)等。

    • 中文支持:需加載中文字體文件(如?Pillow?庫配合使用)。

  2. 坐標系統

    • org?默認基于左上角坐標系((0,0)?在左上角)。

    • 設?bottomLeftOrigin=True?可切換為左下角坐標系(數學坐標系)。

  3. 抗鋸齒

    • lineType=cv2.LINE_AA:文字邊緣平滑(推薦)。

    • lineType=cv2.LINE_8:快速渲染(默認)。

輪廓分析

41.cv2.findContours():

功能從二值圖像中提取輪廓(可用于物體形狀分析、邊緣檢測等)。
參數1.?image:輸入二值圖像(通常需先閾值化或邊緣檢測)。
2.?mode:輪廓檢索模式(如?cv2.RETR_EXTERNAL?僅外輪廓)。
3.?method:輪廓近似方法(如?cv2.CHAIN_APPROX_SIMPLE?壓縮冗余點)。
4.?offset(可選):輪廓點坐標偏移量(默認?(0,0))。
返回值1.?contours:輪廓列表(每個輪廓為?np.array?的點集)。
2.?hierarchy:輪廓層級關系(樹結構描述父子輪廓)。

關鍵參數詳解

1. 檢索模式(mode

模式說明
cv2.RETR_EXTERNAL僅檢測最外層輪廓(忽略內部孔洞)。
cv2.RETR_LIST檢測所有輪廓,無層級關系(hierarchy?為無效值)。
cv2.RETR_TREE檢測所有輪廓并建立完整層級樹(記錄父子關系)。

2. 近似方法(method

方法說明
cv2.CHAIN_APPROX_NONE存儲輪廓所有點(坐標完整,但冗余)。
cv2.CHAIN_APPROX_SIMPLE壓縮水平、垂直、對角線方向的冗余點(如矩形僅保留4個角點)。

42.cv2.drawContours():

功能在圖像上繪制輪廓(支持自定義顏色、線寬、層級過濾)。
參數1.?image:輸入圖像(直接修改)。
2.?contours:輪廓列表(來自cv2.findContours())。
3.?contourIdx:要繪制的輪廓索引(-1表示全部)。
4.?color:輪廓顏色(BGR三元組)。
5.?thickness(可選):線寬(默認1,-1表示填充)。
6.?lineType(可選):線型(如cv2.LINE_AA)。
7.?hierarchy(可選):層級關系(用于過濾)。
8.?maxLevel(可選):最大繪制層級(默認0,僅當前層)。
9.?offset(可選):輪廓點坐標偏移量。
返回值無(直接修改輸入圖像)。

關鍵特性

  1. 輪廓選擇

    • contourIdx=-1:繪制所有輪廓。

    • contourIdx=2:僅繪制列表中第3個輪廓(索引從0開始)。

  2. 填充模式

    • thickness=-1:填充輪廓內部(如生成掩膜)。

    • thickness≥1:繪制空心輪廓。

  3. 層級控制

    • 結合?hierarchy?和?maxLevel?可選擇性繪制子輪廓(如只畫最外層)。

43.cv2.approxPolyDP():

功能Douglas-Peucker算法對輪廓多邊形進行近似(減少頂點數,保持形狀)。
參數1.?curve:輸入輪廓(np.array?形狀為?(N,1,2))。
2.?epsilon:近似精度(值越小,越接近原始輪廓)。
3.?closed:是否閉合輪廓(默認?True)。
返回值近似后的多邊形點集(np.array?形狀為?(M,1,2),M≤N)。

關鍵特性

  1. 算法原理

    • 通過設定最大距離容差(epsilon)壓縮冗余頂點,保留關鍵轉折點

  2. 參數選擇

    • epsilon?通常取輪廓周長的百分比(如?0.02*cv2.arcLength(curve, True))。

    • closed=True?時強制首尾相連。

  3. 應用場景

    • 簡化復雜輪廓(如文檔邊界矯正)。

    • 形狀分類(通過頂點數判斷矩形、三角形等)。

注意事項

  • 輸入格式:輪廓必須是?(N,1,2)?形狀(與?cv2.findContours()?輸出一致)。

  • 精度控制epsilon?過大可能導致過度簡化(如六邊形變三角形)。

  • 閉合性:開放曲線(如折線)需設?closed=False

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

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

相關文章

Function calling, 模態上下文協議(MCP),多步能力協議(MCP) 和 A2A的區別

背景闡述 本文大部分內容都是基于openAI 的 chatGPT自動生成。作者進行了一些細微的調整。 LLM 帶來了很多思維的活躍&#xff0c;基于LLM&#xff0c;產生了很多應用&#xff0c;很多應用也激活了LLM的新的功能。 Function calling&#xff0c;MCP&#xff08;Modal Contex…

火山RTC 5 轉推CDN 布局合成規則

實時音視頻房間&#xff0c;轉推CDN&#xff0c;文檔&#xff1a; 轉推直播--實時音視頻-火山引擎 一、轉推CDN 0、前提 * 在調用該接口前&#xff0c;你需要在[控制臺](https://console.volcengine.com/rtc/workplaceRTC)開啟轉推直播功能。<br> * 調…

力扣面試150題--插入區間和用最少數量的箭引爆氣球

Day 28 題目描述 思路 初次思路&#xff1a;借鑒一下昨天題解的思路&#xff0c;將插入的區間與區間數組作比較&#xff0c;插入到升序的數組中&#xff0c;其他的和&#xff08;合并區間&#xff09;做法一樣。 注意需要特殊處理一下情況&#xff0c;插入區間比數組中最后一…

【Java面試筆記:基礎】4.強引用、軟引用、弱引用、幻象引用有什么區別?

1. 引用類型及其特點 強引用(Strong Reference): 定義:最常見的引用類型,通過new關鍵字直接創建。回收條件:只要強引用存在,對象不會被GC回收。示例:Object obj = new Object(); // 強引用特點: 強引用是導致內存泄漏的常見原因(如未及時置為null)。手動斷開引用:…

ycsb性能測試的優缺點

YCSB&#xff08;Yahoo Cloud Serving Benchmark&#xff09;是一個開源的性能測試框架&#xff0c;用于評估分布式系統的讀寫性能。它具有以下優點和缺點&#xff1a; 優點&#xff1a; 簡單易用&#xff1a;YCSB提供了簡單的API和配置文件&#xff0c;使得性能測試非常容易…

基于SpringBoot的校園賽事直播管理系統-項目分享

基于SpringBoot的校園賽事直播管理系統-項目分享 項目介紹項目摘要管理員功能圖用戶功能圖項目預覽首頁總覽個人中心禮物管理主播管理 最后 項目介紹 使用者&#xff1a;管理員、用戶 開發技術&#xff1a;MySQLJavaSpringBootVue 項目摘要 隨著互聯網和移動技術的持續進步&…

Nginx?中間件的解析

目錄 一、Nginx的核心架構解析 二、Nginx的典型應用場景 三、Nginx的配置優化實踐 四、Nginx的常見缺陷與漏洞 一、Nginx的核心架構解析 ??事件驅動與非阻塞IO模型?? Nginx采用基于epoll/kq等系統調用的事件驅動機制&#xff0c;通過異步非阻塞方式處理請求&#xff0c;…

杭州小紅書代運營公司-品融電商:全域增長策略的實踐者

杭州小紅書代運營公司-品融電商&#xff1a;全域增長策略的實踐者 在品牌競爭日趨激烈的電商領域&#xff0c;杭州品融電商作為一家專注于品牌化全域運營的服務商&#xff0c;憑借其“效品合一”方法論與行業領先的小紅書代運營能力&#xff0c;已成為眾多品牌實現市場突圍的重…

【映客直播-注冊/登錄安全分析報告】

前言 由于網站注冊入口容易被黑客攻擊&#xff0c;存在如下安全問題&#xff1a; 暴力破解密碼&#xff0c;造成用戶信息泄露短信盜刷的安全問題&#xff0c;影響業務及導致用戶投訴帶來經濟損失&#xff0c;尤其是后付費客戶&#xff0c;風險巨大&#xff0c;造成虧損無底洞…

Android audio_policy_configuration.xml加載流程

目錄 一、audio_policy_configuration.xml文件被加載流程 1、AudioPolicyService 創建階段 2、createAudioPolicyManager 實現 3、AudioPolicyManager 構造 4、配置文件解析 loadConfig 5、核心解析邏輯 PolicySerializer::deserialize 二、AudioPolicyConfig類解析 1、…

使用 Docker 安裝 Elastic Stack 并重置本地密碼

Elastic Stack&#xff08;也被稱為 ELK Stack&#xff09;是一個非常強大的工具套件&#xff0c;用于實時搜索、分析和可視化大量數據。Elastic Stack 包括 Elasticsearch、Logstash、Kibana 等組件。本文將展示如何使用 Docker 安裝 Elasticsearch 并重置本地用戶密碼。 ###…

Unitest和pytest使用方法

unittest 是 Python 自帶的單元測試框架&#xff0c;用于編寫和運行可重復的測試用例。它的核心思想是通過斷言&#xff08;assertions&#xff09;驗證代碼的行為是否符合預期。以下是 unittest 的基本使用方法&#xff1a; 1. 基本結構 1.1 創建測試類 繼承 unittest.TestC…

git 版本提交規范

Git 提交規范&#xff08;Git Commit Message Convention&#xff09;是為了讓項目的提交歷史更加清晰、可讀、便于追蹤和自動化工具解析。常見的規范之一是 Conventional Commits&#xff0c;下面是一個推薦的格式規范&#xff1a; &#x1f31f; 提交信息格式&#xff08;Con…

stat判斷路徑

int stat(const char *pathname, struct stat *buf); pathname&#xff1a;用于指定一個需要查看屬性的文件路徑。 buf&#xff1a;struct stat 類型指針&#xff0c;用于指向一個 struct stat 結構體變量。調用 stat 函數的時候需要傳入一個 struct stat 變量的指針&#xff0…

學習Docker遇到的問題

目錄 1、拉取hello-world鏡像報錯 1. 檢查網絡連接 排查: 2. 配置 Docker 鏡像加速器(推薦) 具體解決步驟: 1.在服務器上創建并修改配置文件,添加Docker鏡像加速器地址: 2. 重啟Docker 3. 拉取hello-world鏡像 2、刪除鏡像出現異常 3、 容器內部不能運行ping命令 …

安寶特案例 | AR如何大幅提升IC封裝廠檢測效率?

前言&#xff1a;如何提升IC封裝廠檢測效率&#xff1f; 在現代電子產品的制造過程中&#xff0c;IC封裝作為核心環節&#xff0c;涉及到復雜處理流程和嚴格質量檢測。這是一家專注于IC封裝的廠商&#xff0c;負責將來自IC制造商的晶圓進行保護、散熱和導通處理。整個制程繁瑣…

【Linux網絡與網絡編程】07.應用層協議HTTPS

HTTP 協議內容都是按照文本的方式明文傳輸的&#xff0c;這就導致在傳輸過程中出現一些被篡改的情況。HTTPS 就是在 HTTP 協議的基礎上引入了一個加密層的應用層協議。 1. 基礎概念 1.1 加密與解密 加密就是把明文&#xff08;要傳輸的信息&#xff09;進行一系列變換&#x…

【k8s】PV,PVC的回收策略——return、recycle、delete

PV 和 PVC 的回收策略主要用于管理存儲資源的生命周期&#xff0c;特別是當 PVC 被刪除時&#xff0c;PV 的處理方式。回收策略決定了 PV 在 PVC 被刪除后的行為。 回收策略的類型 Kubernetes 提供了三種主要的回收策略&#xff0c;用于管理 PV 的生命周期&#xff1a; Reta…

2023藍帽杯初賽內存取證-2

直接使用mimikatz插件來獲取用戶密碼&#xff1a; vol.py --plugin/opt/volatility/plugins -f memdump.mem --profile Win7SP1x64 mimikatz 答案&#xff1a;3w.qax.com

使用dompurify修復XSS跨站腳本缺陷

1. 問題描述 漏洞掃描說有一個低危漏洞&#xff0c;容易被跨站腳本攻擊XSS。 2. 使用dompurify修復 DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. 簡單來說&#xff0c;我們可以使用 dompurify 處理xss跨站腳本攻擊。 2.…