計算機視覺色彩空間全解析:RGB、HSV與Lab的實戰對比

在這里插入圖片描述
在這里插入圖片描述

計算機視覺色彩空間全解析:RGB、HSV與Lab的實戰對比

  • 一、前言
  • 二、RGB 色彩空間?
    • 2.1 RGB 色彩空間原理?
      • 2.1.1 基本概念?
      • 2.1.2 顏色混合機制?
    • 2.2 RGB 在計算機視覺中的應用?
      • 2.2.1 圖像讀取與顯示?
      • 2.2.2 顏色識別?
      • 2.2.3 RGB 色彩空間的局限性?
  • 三、HSV 色彩空間?
    • 3.1 HSV 色彩空間原理?
      • 3.1.1 定義與參數?
      • 3.1.2 色彩模型表示?
    • 3.2 HSV 在計算機視覺中的應用?
      • 3.2.1 基于顏色范圍的目標提取?
      • 3.2.2 圖像增強與顏色調整?
      • 3.2.3 HSV 的優勢與適用場景?
  • 四、Lab 色彩空間?
    • 4.1 Lab 色彩空間原理?
      • 4.1.1 感知均勻性?
      • 4.1.2 與其他色彩空間的轉換?
    • 4.2 Lab 在計算機視覺中的應用?
      • 4.2.1 圖像分割與顏色聚類?
      • 4.2.2 圖像增強與去霧?
      • 4.2.3 Lab 色彩空間的特點與適用范圍?
  • 五、RGB、HSV 與 Lab 色彩空間的實戰對比?
    • 5.1 顏色識別任務對比?
    • 5.2 圖像分割任務對比?
    • 5.3 目標跟蹤任務對比?
    • 5.4 圖像融合任務對比?
    • 5.5 綜合對比與選擇建議?
    • 5.6 新興研究方向中的色彩空間應用探索?
    • 5.7 跨領域應用中的色彩空間融合與拓展?
  • 六、未來發展趨勢與展望?
  • 致讀者一封信

計算機視覺色彩空間全解析:RGB、HSV與Lab的實戰對比,在計算機視覺領域,準確理解和處理顏色信息至關重要。色彩空間作為定義顏色的數學模型,為我們提供了不同的方式來描述和操作顏色。常見的色彩空間有 RGB、HSV 和 Lab 等,它們各自具有獨特的特性和應用場景。本文將深入探討這三種色彩空間,通過詳細的原理講解、豐富的代碼示例以及實際應用場景的對比,幫助讀者全面掌握它們在計算機視覺中的應用。

在這里插入圖片描述

一、前言

????計算機視覺是一門研究如何使機器“看”的科學,更進一步的說,就是是指用攝影機和電腦代替人眼對目標進行識別、跟蹤和測量等機器視覺,并進一步做圖形處理,使電腦處理成為更適合人眼觀察或傳送給儀器檢測的圖像。作為一個科學學科,計算機視覺研究相關的理論和技術,試圖建立能夠從圖像或者多維數據中獲取‘信息’的人工智能系統。這里所指的信息指Shannon定義的,可以用來幫助做一個“決定”的信息。因為感知可以看作是從感官信號中提取信息,所以計算機視覺也可以看作是研究如何使人工系統從圖像或多維數據中“感知”的科學。


👉👉👉 🥇 點擊進入計算機視覺專欄,計算機視覺(CV)是人工智能的重要分支,致力于讓機器通過數字圖像或視頻獲取、處理和分析視覺信息,并模擬人類視覺的認知能力。本專欄涵蓋基礎概念、技術應用、前沿研究和實戰案例等方向。

👉👉👉 🥇 點擊進入計算機網絡技術專欄,本專欄旨在深入探討計算機網絡的核心概念、關鍵技術、協議標準以及最新發展趨勢,幫助讀者全面理解網絡通信的原理與實踐。

👉👉👉 🥇 點擊進入網絡安全知識專欄,本專欄詳細介紹了網絡安全入門:理解基本概念和術語,網絡安全的五大核心領域:防護、檢測、響應、恢復與治理,常見的網絡攻擊類型及防范技巧,網絡安全防護層次:從物理到應用的多重保障,企業網絡安全的十大挑戰及解決方案等。

二、RGB 色彩空間?

2.1 RGB 色彩空間原理?

2.1.1 基本概念?

????RGB 色彩空間構建于紅(Red)綠(Green)藍(Blue)這三種基礎顏色之上,通過對這三種顏色通道強度進行不同比例的調配,能夠衍生出繽紛多彩的顏色世界。在計算機的數字世界里,通常采用 0 - 255 這一整數區間來量化每種顏色通道的強度數值。其中,0 代表該顏色分量處于完全缺失的狀態,而 255 則意味著該顏色分量達到了最強的表現。以常見的純色為例,純紅色可簡潔地表示為(255, 0, 0),此時紅色通道全力輸出,綠色與藍色通道則處于關閉狀態;純綠色表示為(0, 255, 0),綠色通道滿值,紅、藍通道歸零;純藍色對應(0, 0, 255),藍色通道達最大值,其余兩個通道無輸出。白色的表示為(255, 255, 255),意味著紅、綠、藍三種顏色通道同時以最強強度混合,共同呈現出明亮的白色;黑色(0, 0, 0)則是三種顏色通道均無信號輸出的結果。這種加法混色模型在現代顯示技術中得到了極為廣泛的應用,電腦顯示器、電視屏幕等顯示設備正是巧妙利用這一原理,通過精準調控紅、綠、藍三種發光二極管(LED)或液晶像素的發光強度,為用戶呈現出栩栩如生、絢麗多姿的圖像和視頻內容。?

2.1.2 顏色混合機制?

????當三種顏色通道的強度按照不同比例相互交織混合時,神奇的色彩變化便會應運而生。以黃色為例,它是紅色和綠色充分混合的產物,在 RGB 色彩空間中被表示為(255, 255, 0)。這是因為在生成黃色的過程中,紅色通道和綠色通道的強度同時達到了最大值 255,而藍色通道的強度維持在 0,從而形成了我們所熟知的黃色視覺效果。同理,品紅色作為紅色和藍色的混合色,其 RGB 表示為(255, 0, 255),即紅色通道與藍色通道全力輸出,綠色通道關閉;青色則是綠色和藍色的融合,對應(0, 255, 255),此時綠色與藍色通道滿值,紅色通道無信號。理論上,基于這種組合方式,通過對每個通道 256 種不同強度值(0 - 255)的排列組合,可以生成數量多達256×256×256=16,777,216種的不同顏色。如此龐大的色彩數量,幾乎能夠涵蓋人眼所能感知的絕大部分顏色范圍,為計算機視覺系統提供了豐富的顏色素材,以滿足各種復雜場景下對顏色的精確描述需求。?

2.2 RGB 在計算機視覺中的應用?

2.2.1 圖像讀取與顯示?

????在 Python 的計算機視覺開發中,OpenCV 庫憑借其強大的功能和便捷的接口,成為眾多開發者處理圖像的首選工具。在使用 OpenCV 讀取和顯示圖像時,雖然其內部在數據存儲和處理時采用的是 BGR(藍、綠、紅)順序,但在圖像展示以及與其他遵循 RGB 標準的模塊交互時,我們可以將其視為 RGB 格式進行相應的轉換操作。以下為一段簡潔明了的代碼示例,用以展示如何使用 OpenCV 讀取并正確顯示 RGB 圖像:?

import cv2?
import numpy as np?
?
# 讀取圖像?
image = cv2.imread('example.jpg')?
# 將BGR轉換為RGB(OpenCV讀取為BGR格式)?
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)?
?
cv2.imshow('RGB Image', image_rgb)?
cv2.waitKey(0)?
cv2.destroyAllWindows()?

?????在這段代碼中,cv2.imread函數承擔著從磁盤讀取圖像文件的重任,它會將圖像數據以 BGR 格式加載到內存中。緊接著,cv2.cvtColor函數發揮關鍵作用,它依據預定義的色彩空間轉換規則,將 BGR 格式的圖像數據精準地轉換為 RGB 格式,以確保后續圖像顯示時顏色的正確性。cv2.imshow函數負責在屏幕上創建一個窗口,并將轉換后的 RGB 圖像展示給用戶。cv2.waitKey(0)則使程序進入等待狀態,直到用戶按下鍵盤上的任意按鍵,程序才會繼續執行后續操作。最后,cv2.destroyAllWindows函數用于關閉之前創建的所有圖像顯示窗口,釋放相關的系統資源,保證程序的正常退出和資源的有效管理。?

2.2.2 顏色識別?

?????在一些相對簡單的顏色識別任務場景中,RGB 色彩空間提供了一種直接且直觀的實現途徑。通過設定特定的 RGB 顏色范圍,計算機視覺系統能夠快速識別出圖像中符合該范圍的特定顏色物體。例如,若要在一幅圖像中精準識別出紅色物體,可以依據紅色在 RGB 色彩空間中的典型特征,設定一個合理的顏色范圍,如(R > 180, G < 100, B < 100)。以下是一段具體的代碼實現示例:?

import cv2?
import numpy as np?
?
image = cv2.imread('example.jpg')?
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)?
?
height, width, _ = image_rgb.shape?
for y in range(height):?for x in range(width):?r, g, b = image_rgb[y, x]?if r > 180 and g < 100 and b < 100:?image_rgb[y, x] = [255, 0, 0]  # 將識別到的紅色區域標記為純紅?
?
cv2.imshow('Red Detection in RGB', image_rgb)?
cv2.waitKey(0)?
cv2.destroyAllWindows()?

??????這段代碼通過嵌套的循環結構,逐行逐列地遍歷圖像中的每一個像素點。對于每一個像素,首先獲取其對應的 RGB 顏色值(r, g, b),然后將這些值與預先設定的紅色顏色范圍進行比對。一旦某個像素的 RGB 值滿足(R > 180, G < 100, B < 100)這一條件,就判定該像素屬于紅色物體的一部分,并將其顏色值直接修改為純紅色(255, 0, 0),以便在后續的圖像展示中能夠清晰地標記出識別到的紅色區域。最后,通過cv2.imshow等函數將處理后的圖像展示給用戶,實現顏色識別結果的可視化呈現。?

2.2.3 RGB 色彩空間的局限性?

??????盡管 RGB 色彩空間在計算機視覺領域有著廣泛的應用,但它在處理顏色時也暴露出一些明顯的局限性。其一,RGB 色彩空間對光照變化極為敏感。由于 RGB 值直接反映了顏色的強度信息,當光照條件發生改變時,物體表面對光線的反射特性也會隨之改變,進而導致物體表面顏色的反射光強度發生顯著變化,最終使得 RGB 值產生較大波動。這一特性在實際應用中可能會嚴重影響顏色識別的準確性。例如,在強光直射的環境下拍攝的紅色物體,其 RGB 值可能會因為光線過強而導致紅色通道數值異常增大,同時綠色和藍色通道也可能受到一定程度的影響;而在弱光條件下,紅色物體的 RGB 值整體可能會偏低,且通道之間的比例關系也可能發生變化。這種因光照變化導致的 RGB 值不穩定,給基于 RGB 色彩空間的顏色識別任務帶來了極大的挑戰。?

??????其二,RGB 色彩空間在感知上呈現出不均勻性。這意味著人眼對于不同顏色的感知差異與 RGB 值的變化量之間并非呈現簡單的線性關系。舉例來說,在 RGB 空間中,從(255, 0, 0)(純紅色)到(250, 0, 0)的數值變化,與從(128, 0, 0)到(123, 0, 0)的數值變化,雖然在 RGB 值上的間隔都是 5,但在人眼的視覺感知中,前者所呈現出的顏色變化明顯比后者更為顯著。這種感知不均勻性使得在 RGB 空間中進行顏色比較、顏色調整等操作時,難以準確地反映人眼對顏色的真實感知,在一些對顏色準確性和視覺效果要求較高的應用場景中,可能會導致不理想的結果。?

三、HSV 色彩空間?

3.1 HSV 色彩空間原理?

3.1.1 定義與參數?

??????HSV(Hue, Saturation, Value)色彩空間從人類對顏色的感知特性出發,創新性地采用色調(Hue)、飽和度(Saturation)和明度(Value)這三個關鍵參數來全面描述顏色。其中,色調 H 作為顏色的核心屬性之一,用于界定顏色的種類,其取值范圍通常被規范在 0 - 360 度的區間內,這個區間巧妙地對應了彩虹的顏色順序。具體而言,紅色被定義為 0 度或 360 度,恰似彩虹的起始與終結之色;綠色位于 120 度的位置,代表著大自然中生機盎然的色彩;藍色則處于 240 度,展現出深邃、冷靜的特質。通過這一連續的角度變化,HSV 色彩空間能夠精確地涵蓋人類視覺可感知的各種色調。?

??????飽和度 S 主要用于衡量顏色的鮮艷程度,其取值范圍一般設定在 0 - 100% 之間。當飽和度為 0% 時,意味著顏色完全失去了鮮艷度,呈現為純粹的灰色,此時顏色中不含有任何單一色調的傾向性;而當飽和度達到 100% 時,則表示該色調處于最鮮艷、最純凈的狀態,顏色中單一色調的特征最為突出,沒有受到任何灰色成分的干擾。?

??????明度 V 則用于表示顏色的明亮程度,同樣取值于 0 - 100% 的范圍。當明度為 0% 時,顏色呈現為完全的黑色,即沒有任何光線反射;而當明度達到 100% 時,顏色達到最亮狀態,趨近于白色,此時顏色的亮度達到了最大值。?

3.1.2 色彩模型表示?

??????HSV 色彩空間可以通過一個直觀形象的圓錐體模型來進行可視化展示。在這個圓錐體模型中,圓錐體的頂點對應著黑色(V = 0),象征著沒有任何光線和顏色信息的黑暗狀態。圓錐體的底面圓心則代表著白色(V = 100%, S = 0),此時顏色的亮度達到最大值,但由于飽和度為 0,所以呈現為沒有任何色調傾向的白色。底面圓周上的各個點則分別對應著不同色調且飽和度最高(S = 100%)的顏色,這些顏色構成了一個色彩斑斕的圓環,展示了各種純凈色調的極致表現。從底面圓周向圓心方向移動,飽和度逐漸降低,顏色也隨之變得越來越淡,呈現出從鮮艷純色到柔和淺色的過渡變化;而沿著圓錐體的軸線方向,從底部向頂部移動,明度逐漸增加,顏色從最初的黑色逐漸變亮,直至頂部的白色,清晰地展現了明度對顏色亮度的影響過程。這種獨特的表示方式與人類對顏色的感知方式高度契合,相較于 RGB 色彩空間,HSV 在處理與顏色感知相關的任務時,能夠提供更為直觀、準確的顏色描述和操作方式,具有顯著的優勢。?

3.2 HSV 在計算機視覺中的應用?

3.2.1 基于顏色范圍的目標提取?

??????在計算機視覺的眾多實際應用場景中,基于顏色范圍的目標提取是一項常見且重要的任務。HSV 色彩空間憑借其對光照變化相對不敏感的特性,以及色調 H 在不同光照條件下的穩定性,成為解決此類任務的有力工具。通過合理設定 HSV 顏色范圍,計算機視覺系統能夠更加精準地從復雜背景中提取出特定顏色的物體。例如,在一幅包含多種顏色物體的圖像中,若要精準提取出綠色物體,可以按照以下步驟進行操作:?

import cv2?
import numpy as np?
?
image = cv2.imread('example.jpg')?
image_hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)?
?
# 設定綠色在HSV空間中的范圍?
lower_green = np.array([40, 50, 50])?
upper_green = np.array([80, 255, 255])?
?
mask = cv2.inRange(image_hsv, lower_green, upper_green)?
result = cv2.bitwise_and(image, image, mask = mask)?
?
cv2.imshow('Green Object Extraction in HSV', result)?
cv2.waitKey(0)?
cv2.destroyAllWindows()?

??????首先,使用cv2.cvtColor函數將圖像從 BGR 格式轉換為 HSV 格式,以便后續在 HSV 色彩空間中進行顏色范圍的篩選操作。接著,根據綠色在 HSV 色彩空間中的大致范圍,設定了lower_green和upper_green兩個數組,分別表示綠色范圍的下限和上限。這里,下限lower_green設定為(40, 50, 50),表示色調 H 在 40 左右,飽和度 S 不低于 50,明度 V 不低于 50;上限upper_green設定為(80, 255, 255),即色調 H 在 80 左右,飽和度 S 最高可達 255,明度 V 也最高可達 255。然后,通過cv2.inRange函數,根據設定的顏色范圍在 HSV 圖像中創建一個掩碼(mask)。該掩碼是一個二值圖像,其中滿足綠色范圍的像素點被設置為 255(白色),不滿足的則被設置為 0(黑色)。最后,利用cv2.bitwise_and函數,將原始圖像與掩碼進行按位與操作,從而提取出圖像中所有綠色物體的部分,并將結果展示給用戶。?

3.2.2 圖像增強與顏色調整?

??????HSV 色彩空間在圖像增強和顏色調整方面展現出了極高的便利性和靈活性。例如,在實際應用中,我們常常需要通過調整圖像的飽和度和明度來增強圖像的色彩鮮艷度和整體亮度,以提升圖像的視覺效果。以下代碼展示了如何將圖像的飽和度提高 50%:?

import cv2?
import numpy as np?
?
image = cv2.imread('example.jpg')?
image_hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)?
?
h, s, v = cv2.split(image_hsv)?
s = np.clip(s * 1.5, 0, 255).astype(np.uint8)  # 飽和度提高50%?
?
image_hsv = cv2.merge((h, s, v))?
image_enhanced = cv2.cvtColor(image_hsv, cv2.COLOR_HSV2BGR)?
?
cv2.imshow('Enhanced Image in HSV', image_enhanced)?
cv2.waitKey(0)?
cv2.destroyAllWindows()?

??????在這段代碼中,首先通過cv2.cvtColor函數將原始 BGR 圖像轉換為 HSV 格式,以便后續對各個通道進行單獨操作。然后,使用cv2.split函數將 HSV 圖像拆分為色調(h)、飽和度(s)和明度(v)三個獨立的通道。接著,對飽和度通道(s)進行增強操作,將其數值乘以 1.5,從而實現飽和度提高 50% 的效果。在這一過程中,為了確保處理后的數值仍然在 0 - 255 的有效范圍內,使用np.clip函數對結果進行了裁剪,并將數據類型轉換為無符號 8 位整數(np.uint8)。完成飽和度通道的增強后,再通過cv2.merge函數將調整后的色調、飽和度和明度通道重新合并為一個 HSV 圖像。最后,使用cv2.cvtColor函數將增強后的 HSV 圖像轉換回 BGR 格式,以便在常規的圖像顯示環境中展示給用戶,讓用戶直觀地感受到圖像飽和度增強后的視覺效果提升。?

3.2.3 HSV 的優勢與適用場景?

??????HSV 色彩空間的主要優勢集中體現在其對光照變化的出色魯棒性以及與人類視覺感知的高度一致性。這種對光照變化的魯棒性使得在復雜光照環境下,基于 HSV 色彩空間的顏色處理算法能夠保持相對穩定的性能,準確地識別和處理顏色信息。例如,在戶外場景中,光照條件會隨著時間、天氣等因素不斷變化,但 HSV 色彩空間中的色調 H 相對穩定,不會因光照變化而發生顯著?變化,這就保證了基于色調 H 設定的顏色范圍在不同光照下仍能有效識別特定顏色物體。而其與人類視覺感知的一致性,使得在進行圖像增強、顏色調整等需要考慮人眼視覺效果的任務時,HSV 色彩空間能夠提供更加直觀、符合人類視覺習慣的操作方式。?

??????HSV 色彩空間適用于眾多對光照變化敏感且需要基于顏色特征進行處理的計算機視覺場景。在農業領域,利用 HSV 色彩空間可以在不同光照的田間環境下,通過識別農作物或病蟲害的特定顏色,進行生長狀況監測與病蟲害預警。在工業生產中,對于產品表面顏色質量檢測,即使在車間復雜光照條件下,HSV 色彩空間也能精準定位顏色缺陷區域。在藝術創作與圖像處理軟件中,HSV 色彩空間方便設計師基于人眼對顏色的感知,靈活調整圖像顏色,實現創意構思。?

四、Lab 色彩空間?

4.1 Lab 色彩空間原理?

4.1.1 感知均勻性?

??????Lab 色彩空間是一種與設備無關的色彩模型,其核心設計理念是實現顏色在感知層面的均勻性。它由一個亮度通道 L 和兩個顏色通道 a(從綠色到紅色)、b(從藍色到黃色)構成。L 通道的取值范圍常規設定為 0 - 100,用于表征顏色的亮度信息,0 代表完全的黑色,此時沒有任何光線反射;100 則表示最亮的白色,光線反射達到最大值。a 通道和 b 通道的取值范圍一般處于 -128 到 127 之間,a 通道為正時偏向紅色調,值越大紅色越明顯;為負時則偏向綠色調,絕對值越大綠色越突出。b 通道為正時呈現黃色調,數值越大黃色越濃郁;為負時偏向藍色調,絕對值越大藍色越濃重。在 Lab 色彩空間中,顏色之間的歐幾里得距離與人類視覺感知到的顏色差異具有較高的一致性。這意味著在該空間內,相同距離的顏色變化在人眼看來,具有相似的視覺感知差異,有效克服了 RGB 色彩空間在感知均勻性方面的固有缺陷。例如,在 Lab 空間中,從顏色 A 到顏色 B 的距離與從顏色 C 到顏色 D 的距離若相等,那么人眼對這兩組顏色變化的感知程度也基本相同,這為顏色的精確比較、調整以及圖像分割等任務提供了更可靠的依據。?

4.1.2 與其他色彩空間的轉換?

??????Lab 色彩空間與常見的 RGB 色彩空間之間能夠進行相互轉換,但這一轉換過程較為復雜,通常需要借助 XYZ 色彩空間作為中間過渡。從 RGB 轉換到 Lab,首先要將 RGB 值轉換為 XYZ 值,該轉換涉及到一系列基于標準觀察者顏色匹配函數的矩陣運算。以 sRGB 色彩空間為例,其轉換到 XYZ 的矩陣運算公式如下:?
在這里插入圖片描述

在這里插入圖片描述??????是經過歸一化(取值范圍 0 - 1)的 RGB 值。得到 XYZ 值后,再通過特定的非線性變換得到 Lab 值。在 Python 的 OpenCV 庫中,開發者無需手動實現這些復雜運算,可通過簡潔的函數調用完成轉換。例如,將 RGB 圖像轉換為 Lab 圖像的代碼如下:?

import cv2?
import numpy as np?
?
image = cv2.imread('example.jpg')?
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)?
image_lab = cv2.cvtColor(image_rgb, cv2.COLOR_RGB2Lab)?

???????在這段代碼中,首先利用cv2.cvtColor函數將 OpenCV 默認讀取的 BGR 格式圖像轉換為 RGB 格式,接著再次使用cv2.cvtColor函數,依據內部預設的轉換算法,將 RGB 圖像高效地轉換為 Lab 格式,為后續在 Lab 色彩空間中的圖像處理操作奠定基礎。?

4.2 Lab 在計算機視覺中的應用?

4.2.1 圖像分割與顏色聚類?

??????鑒于 Lab 色彩空間的感知均勻性,其在圖像分割和顏色聚類任務中展現出卓越的性能。在圖像分割任務里,依據 Lab 顏色空間中顏色的差異特性,能夠將圖像精確劃分為不同的區域。例如,運用 K - Means 聚類算法在 Lab 空間對圖像進行顏色聚類,從而實現圖像分割。K - Means 算法是一種迭代求解的聚類分析算法,其核心思想是將數據點劃分為 K 個簇,使得同一簇內的數據點相似度較高,而不同簇之間的數據點相似度較低。在 Lab 色彩空間中應用該算法的代碼示例如下:?

import cv2?
import numpy as np?
from sklearn.cluster import KMeans?
?
image = cv2.imread('example.jpg')?
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)?
image_lab = cv2.cvtColor(image_rgb, cv2.COLOR_RGB2Lab)?
?
pixels = image_lab.reshape((-1, 3))?
?
kmeans = KMeans(n_clusters = 5)?
kmeans.fit(pixels)?
?
labels = kmeans.labels_?
centers = kmeans.cluster_centers_.astype(np.uint8)?
?
segmented_pixels = centers[labels]?
segmented_image = segmented_pixels.reshape(image.shape)?
?
cv2.imshow('Segmented Image in Lab', segmented_image)?
cv2.waitKey(0)?
cv2.destroyAllWindows()?

??????在這段代碼中,首先將讀取的圖像依次轉換為 RGB 和 Lab 格式。然后,使用reshape函數將 Lab 圖像的三維像素數據轉換為二維數組,以便于 K - Means 算法處理,其中-1表示自動計算該維度的大小,確保數據形狀轉換的正確性。接著,創建 K - Means 聚類模型,設定聚類數量為 5(可根據實際圖像的復雜程度和分割需求進行調整),并使用fit函數對像素數據進行聚類分析。聚類完成后,通過labels_屬性獲取每個像素所屬的簇標簽,通過cluster_centers_屬性獲取每個簇的中心顏色值,并將其轉換為無符號 8 位整數類型。之后,根據簇標簽將每個像素替換為對應簇的中心顏色值,重新構建分割后的圖像數據,并將其恢復為原始圖像的形狀。最后,使用cv2.imshow等函數展示分割后的圖像,直觀呈現基于 Lab 色彩空間和 K - Means 算法的圖像分割效果。?

4.2.2 圖像增強與去霧?

??????Lab 色彩空間在圖像增強和去霧等應用領域同樣表現出色。以圖像去霧為例,基于暗通道先驗的去霧算法在 Lab 空間中能夠有效去除霧氣對圖像的影響。暗通道先驗理論指出,在絕大多數非天空的局部區域里,至少有一個顏色通道在某些像素上具有很低的值,這些像素構成了圖像的暗通道。在 Lab 空間中,通過對亮度通道 L 進行特定處理來實現去霧。以下是一個簡單的基于暗通道先驗的圖像去霧在 Lab 空間的實現示例:?

import cv2?
import numpy as np?
?
def guided_filter(I, p, r, eps):?height, width = I.shape[:2]?N = cv2.boxFilter(np.ones((height, width), dtype=np.float32), -1, (r, r))?mean_I = cv2.boxFilter(I, -1, (r, r)) / N?mean_p = cv2.boxFilter(p, -1, (r, r)) / N?mean_Ip = cv2.boxFilter(I * p, -1, (r, r)) / N?cov_Ip = mean_Ip - mean_I * mean_p?mean_II = cv2.boxFilter(I * I, -1, (r, r)) / N?var_I = mean_II - mean_I * mean_I?a = cov_Ip / (var_I + eps)?b = mean_p - a * mean_I?mean_a = cv2.boxFilter(a, -1, (r, r)) / N?mean_b = cv2.boxFilter(b, -1, (r, r)) / N?q = mean_a * I + mean_b?return q?
?
def dehaze_lab(image):?image_lab = cv2.cvtColor(image, cv2.COLOR_BGR2Lab)?l, a, b = cv2.split(image_lab)?dark_channel = np.min(l, axis = 2)?omega = 0.95?atmospheric_light = np.max(dark_channel.flatten())?transmission = 1 - omega * dark_channel / atmospheric_light?refined_transmission = guided_filter(l, transmission, 15, 0.001)?refined_transmission = np.clip(refined_transmission, 0.1, 1)?l = (l - atmospheric_light) / refined_transmission + atmospheric_light?l = np.clip(l, 0, 255).astype(np.uint8)?dehazed_image_lab = cv2.merge((l, a, b))?dehazed_image = cv2.cvtColor(dehazed_image_lab, cv2.COLOR_Lab2BGR)?return dehazed_image?
?
image = cv2.imread('hazy_image.jpg')?
dehazed_image = dehaze_lab(image)?
?
cv2.imshow('Original Hazy Image', image)?
cv2.imshow('Dehazed Image in Lab', dehazed_image)?
cv2.waitKey(0)?
cv2.destroyAllWindows()?

???????在這段代碼中,首先定義了一個guided_filter函數,用于實現引導濾波,該濾波方法能夠在保持邊緣信息的同時對圖像進行平滑處理,在去霧算法中用于優化透射率估計。在dehaze_lab函數中,將輸入圖像轉換為 Lab 格式并分離出亮度通道 l。通過計算亮度通道的最小值得到暗通道dark_channel,依據暗通道先驗理論估算大氣光強度atmospheric_light,進而計算出初始透射率transmission。接著,利用guided_filter函數對透射率進行優化得到refined_transmission,并通過np.clip函數將透射率限制在合理范圍內(0.1 - 1),以避免數值異常。然后,根據去霧模型公式對亮度通道 l 進行處理,恢復無霧時的亮度信息。最后,將處理后的亮度通道與原 a、b 通道合并為 Lab 圖像,再轉換回 BGR 格式返回去霧后的圖像。通過對比去霧前后的圖像,可明顯看到 Lab 色彩空間在圖像去霧方面的有效性,能夠顯著提升圖像的清晰度和可見性。?

4.2.3 Lab 色彩空間的特點與適用范圍?

??????Lab 色彩空間的顯著特點在于其感知均勻性和設備無關性。感知均勻性使得在進行顏色相關操作時,能夠更準確地反映人眼對顏色的真實感知,在需要精確顏色區分和比較的任務中優勢明顯。設備無關性則意味著無論使用何種圖像采集設備(如不同品牌和型號的相機)或顯示設備(如電腦顯示器、投影儀),Lab 色彩空間中的顏色定義和表現都能保持相對一致,避免了因設備差異導致的顏色偏差。?

??????基于這些特點,Lab 色彩空間在眾多對顏色準確性和一致性要求極高的計算機視覺任務中得到廣泛應用。在醫學圖像分析領域,準確區分不同組織的顏色特征對于疾病診斷至關重要,Lab 色彩空間能夠提供可靠的顏色信息,輔助醫生精準識別病變組織。在印刷出版行業,為確保印刷品顏色與設計稿顏色高度一致,Lab 色彩空間可作為顏色轉換和校對的標準,有效消除因不同設備色彩表現差異帶來的顏色失真問題。在跨平臺、跨設備的圖像傳輸和處理場景中,Lab 色彩空間的設備無關性確保了顏色的一致性,保障了圖像內容的準確傳達和處理效果的穩定性。?

五、RGB、HSV 與 Lab 色彩空間的實戰對比?

5.1 顏色識別任務對比?

??????在顏色識別任務中,RGB、HSV 和 Lab 色彩空間展現出各自不同的性能特點。RGB 色彩空間由于其簡單直觀的顏色表示方式,在一些對光照條件要求不高、顏色特征明顯且單一的場景下,能夠快速實現顏色識別。例如,在一個室內固定光照環境下,識別簡單紅色物體,通過設定 RGB 顏色范圍(R > 180, G < 100, B < 100),能夠較為準確地識別出紅色區域。然而,一旦光照條件發生變化,如從室內柔和燈光切換到室外強光直射或弱光陰影環境,物體表面的 RGB 值會發生顯著改變,導致基于固定 RGB 范圍的顏色識別出現大量誤判。?

??????HSV 色彩空間在顏色識別方面,尤其是面對復雜光照條件時,表現出明顯優于 RGB 的特性。由于色調 H 對光照變化相對不敏感,在不同光照環境下能夠保持相對穩定,通過合理設定 HSV 顏色范圍,能夠更可靠地識別特定顏色。例如,在戶外不同時間(早晨、中午、傍晚)和天氣(晴天、陰天)條件下拍攝的圖像中,要識別綠色植物,利用 HSV 色彩空間設定綠色范圍(如色調 H 在 40 - 80 之間,飽和度 S 和明度 V 在一定合理區間),能夠在多種光照變化下準確提取綠色植物區域,大大提高了顏色識別的魯棒性。?

??????Lab 色彩空間在顏色識別任務中,憑借其感知均勻性,能夠實現高精度的顏色區分。在一些對顏色識別精度要求極高的工業檢測場景中,如電子芯片生產中對微小元件顏色一致性的檢測,Lab 色彩空間能夠準確衡量顏色之間的細微差異。通過計算 Lab 空間中顏色的歐幾里得距離,可精確判斷元件顏色是否符合標準,相比 RGB 和 HSV,能更準確地識別出顏色偏差,確保產品質量控制的嚴格性。?

5.2 圖像分割任務對比?

??????在圖像分割任務中,RGB 色彩空間由于其感知不均勻性,在基于顏色聚類的分割方法中面臨諸多挑戰。例如,使用 K - Means 聚類算法在 RGB 空間對圖像進行分割時,由于人眼對 RGB 值變化的感知并非線性,可能導致聚類結果與實際圖像區域劃分不符,分割邊界模糊,無法準確分離不同顏色的物體。例如,在一幅包含多種顏色水果的圖像中,紅色蘋果和粉色桃子的 RGB 值較為接近,在 RGB 空間聚類時容易被錯誤地劃分到同一類,無法實現精確分割。?

??????HSV 色彩空間在簡單的基于顏色的圖像分割中表現良好。其直觀的色調、飽和度和明度表示方式,使得基于顏色范圍的分割操作更加符合人類視覺感知。例如,在分割一幅包含藍天、綠草和黃色花朵的風景圖像時,通過設定不同顏色在 HSV 空間的范圍,能夠有效地將藍天、綠草和黃色花朵分別分割出來。但在處理一些顏色過渡復雜、相似顏色較多的圖像時,HSV 色彩空間也可能出現分割不準確的情況。例如,在一幅具有多種深淺綠色植被的森林圖像中,由于不同植被的 HSV 值存在重疊,單純基于 HSV 顏色范圍分割可能會導致部分植被區域被錯誤合并或分割不完整。?

??????Lab 色彩空間在圖像分割任務中展現出獨特優勢。其感知均勻性使得基于顏色差異的分割更加準確和穩定。通過在 Lab 空間中利用聚類算法或其他分割方法,能夠更好地捕捉圖像中不同區域的顏色特征差異,實現更精細的圖像分割。例如,在醫學圖像分割中,對于腦部 MRI 圖像,Lab 色彩空間能夠準確區分不同組織(如灰質、白質、腦脊液)的顏色差異,為醫學診斷提供更精確的圖像分割結果,輔助醫生更清晰地觀察腦部結構和病變情況。在復雜的自然場景圖像分割中,Lab 色彩空間也能有效應對顏色過渡和相似顏色的挑戰,準確劃分不同物體和背景區域,提高圖像分割的質量和可靠性。?

??????通過對 RGB、HSV 和 Lab 色彩空間在顏色識別和圖像分割等常見計算機視覺任務中的實戰對比,可以清晰地看到每種色彩空間都有其適用的場景和局限性。在實際應用中,開發者需要根據具體任務需求、圖像特點以及對顏色處理的精度要求,合理選擇合適的色彩空間,以實現最佳的計算機視覺效果。隨著計算機視覺技術的不斷發展,對色彩空間的研究和應用也在持續深入,未來有望出現更優化、更智能的色彩空間模型,進一步推動計算機視覺技術在各個領域的廣泛應用和創新發展。

5.3 目標跟蹤任務對比?

?
??????在目標跟蹤任務中,RGB 色彩空間的應用較為基礎但面臨諸多挑戰。由于 RGB 值易受光照變化影響,當目標物體在不同光照環境下移動時,其 RGB 特征會顯著改變,導致跟蹤器容易丟失目標。例如在戶外場景下,行人從樹蔭下走到陽光下,其衣服的 RGB 顏色值會發生明顯變化,基于 RGB 特征的跟蹤算法可能會將其誤判為不同目標,從而無法持續穩定地跟蹤。?

??????HSV 色彩空間在目標跟蹤方面有一定優勢。其色調 H 的相對穩定性有助于在光照變化時保持對目標顏色特征的有效描述。例如在對交通場景中的黃色校車進行跟蹤時,即便校車在不同時段、不同光照條件下行駛,通過設定合適的 HSV 顏色范圍(重點關注黃色的色調區間),跟蹤算法能夠較為穩定地識別校車顏色,持續跟蹤目標。然而,當目標顏色與背景顏色在 HSV 空間中的某些參數相近時,可能會出現誤跟蹤情況。比如在一個周圍有大量淺黃色建筑物的場景中跟蹤黃色校車,若 HSV 范圍設定不當,建筑物的顏色可能會干擾對校車的跟蹤。?

??????Lab 色彩空間在目標跟蹤中憑借其感知均勻性和設備無關性,能提供更穩定、精確的目標特征描述。在工業生產線上對特定顏色零部件的跟蹤場景中,Lab 色彩空間可以準確區分零部件與周圍環境的顏色差異,即使在不同成像設備采集的圖像序列中,也能保證顏色特征的一致性。通過計算 Lab 空間中目標顏色與候選區域顏色的歐幾里得距離,跟蹤算法能夠精確判斷目標位置,有效避免因光照和設備差異導致的目標丟失,提高目標跟蹤的準確性和魯棒性。?

5.4 圖像融合任務對比?

??????在圖像融合任務里,RGB 色彩空間的融合效果受限于其對顏色的表示方式。由于 RGB 通道之間相關性較強,直接在 RGB 空間進行圖像融合可能導致融合后的圖像顏色失真或細節丟失。例如將不同曝光時間拍攝的同一場景 RGB 圖像進行融合時,若簡單地對 RGB 通道數值進行加權平均,可能會使融合圖像的顏色偏離真實場景,無法準確還原物體的顏色和細節信息。?

??????HSV 色彩空間為圖像融合提供了不同的思路。可以分別對色調 H、飽和度 S 和明度 V 通道進行融合操作,然后再合成最終圖像。在一些需要保留圖像色彩感知特征的融合任務中,HSV 空間表現較好。比如在將一幅正常光照下的風景圖像與一幅經過藝術濾鏡處理(主要改變顏色鮮艷度和色調)的同場景圖像進行融合時,通過合理調整 HSV 通道的融合權重,能夠在保留原始圖像基本場景結構的同時,融入濾鏡圖像的色彩風格,使融合圖像既具有真實感又帶有獨特的藝術效果。但在處理多光譜圖像融合等復雜場景時,HSV 空間可能無法充分利用圖像的全部信息,導致融合效果不理想。?

??????Lab 色彩空間在圖像融合任務中展現出獨特優勢。其亮度通道 L 和顏色通道 a、b 相對獨立的特性,使得在融合過程中可以分別對亮度信息和顏色信息進行針對性處理。在醫學圖像融合領域,將 CT 圖像(主要提供解剖結構的亮度信息)與 MRI 圖像(包含組織特征的顏色信息)進行融合時,Lab 色彩空間能夠準確地將 CT 圖像的亮度信息與 MRI 圖像的顏色信息進行整合。通過在 Lab 空間中對亮度通道 L 和顏色通道 a、b 進行適當的融合算法操作(如基于多分辨率分析的融合方法),可以生成既包含清晰解剖結構又能準確反映組織特征顏色的融合圖像,為醫生提供更全面、準確的診斷信息。在遙感圖像融合中,Lab 色彩空間也能有效融合不同傳感器獲取的圖像信息,提高融合圖像的質量和信息豐富度。?

5.5 綜合對比與選擇建議?

??????綜上所述,RGB、HSV 和 Lab 色彩空間在計算機視覺的不同任務中各有優劣。RGB 色彩空間簡單直觀,在對光照和顏色精度要求不高的簡單場景下能快速實現顏色相關操作,但在復雜光照和高精度顏色處理任務中表現欠佳。HSV 色彩空間對光照變化有一定魯棒性,其基于人類視覺感知的參數表示使其在基于顏色特征的任務(如顏色識別、簡單圖像分割)中表現良好,但在面對復雜顏色分布和高精度顏色區分場景時存在局限性。Lab 色彩空間的感知均勻性和設備無關性使其在對顏色準確性和一致性要求極高的任務(如工業檢測、醫學圖像分析、高精度圖像分割)中表現卓越,但轉換過程相對復雜,計算成本較高。?

??????在實際應用中,開發者應根據具體任務的特點和需求來選擇合適的色彩空間。若任務處于固定光照環境且對顏色處理精度要求不高,如簡單的室內物體顏色分類,RGB 色彩空間可能是合適選擇,因其簡單高效。當任務面臨復雜光照變化且需基于顏色特征進行處理時,如戶外植物種類識別,HSV 色彩空間能有效提升算法的魯棒性。對于那些對顏色準確性和一致性要求苛刻的任務,如醫學影像診斷、工業產品質量檢測,Lab 色彩空間則能提供更可靠的顏色信息處理能力,確保任務的高質量完成。隨著計算機硬件性能的不斷提升和算法的持續優化,未來或許能看到多種色彩空間結合使用的混合策略,充分發揮各色彩空間的優勢,進一步拓展計算機視覺技術在更廣泛領域的應用邊界。例如在一些復雜的智能安防監控系統中,可能在初始目標檢測階段利用 HSV 色彩空間快速篩選出潛在目標區域,然后在目標識別和跟蹤階段切換到 Lab 色彩空間,以實現更精準的目標分析和持續跟蹤,為安全保障提供更強大的技術支持。?

5.6 新興研究方向中的色彩空間應用探索?

??????在當前計算機視覺的前沿研究中,色彩空間的選擇和創新應用正成為提升算法性能的關鍵因素。例如,在基于深度學習的語義分割任務中,研究人員嘗試將不同色彩空間作為網絡輸入,探索其對分割精度的影響。RGB 色彩空間雖然是圖像數據的常見輸入形式,但由于其感知不均勻性,可能導致神經網絡在學習顏色特征時出現偏差。一些研究通過將 RGB 圖像轉換為 Lab 色彩空間后輸入網絡,利用 Lab 空間的感知均勻性,使網絡能夠更準確地學習到顏色與語義類別的對應關系,從而提升語義分割的精度。實驗表明,在某些復雜場景的數據集上,基于 Lab 色彩空間輸入的語義分割模型相較于直接使用 RGB 輸入,平均交并比(mIoU)指標有顯著提升,能夠更精確地分割出不同物體和場景類別。?

??????在圖像生成領域,如生成對抗網絡(GANs)生成逼真圖像的過程中,色彩空間的合理運用也至關重要。傳統的 GANs 在生成圖像時,往往在顏色的準確性和自然度方面存在不足。近期研究發現,通過在生成器和判別器中引入 HSV 色彩空間的約束,可以引導生成圖像在色調、飽和度和明度上更符合真實世界的視覺感知。例如,在生成風景圖像時,通過控制生成圖像在 HSV 空間的色調分布,確保天空的藍色、草地的綠色等主要色調的準確性,同時調整飽和度和明度,使生成圖像更加生動自然,有效提升了生成圖像的視覺質量和真實感。?

5.7 跨領域應用中的色彩空間融合與拓展?

??????色彩空間在計算機視覺與其他領域的交叉應用中也展現出獨特價值。在文物數字化保護領域,需要將高分辨率圖像采集與計算機視覺分析相結合,以實現文物的精準建模和修復。RGB 色彩空間用于記錄文物表面的原始顏色信息,但在處理褪色、老化的文物圖像時,僅依靠 RGB 可能無法準確還原文物的真實色彩。此時,結合 Lab 色彩空間進行分析,通過對比不同時期拍攝的文物圖像在 Lab 空間中的顏色變化,可以更準確地評估文物的褪色程度和老化區域,為文物修復提供科學依據。同時,利用 HSV 色彩空間對文物圖像進行增強處理,突出文物表面的紋理和圖案特征,有助于更清晰地識別文物上的細節信息,提高文物數字化保護的質量和效率。?

??????在農業精準種植領域,計算機視覺技術用于監測農作物的生長狀況。通過無人機采集農田圖像,在 RGB 色彩空間下可以初步識別農作物的種類和分布范圍。然而,為了更精確地監測農作物的健康狀況,如檢測病蟲害、營養缺乏等問題,需要深入分析農作物的顏色變化特征。HSV 色彩空間可以通過分析農作物葉片顏色的色調和飽和度變化,快速發現因病蟲害或營養不良導致的顏色異常區域。而 Lab 色彩空間則能夠對農作物顏色進行更細致的量化分析,建立與農作物生長指標相關的顏色模型,為精準施肥、灌溉等農業生產決策提供數據支持,實現農業生產的智能化和精細化管理。?

六、未來發展趨勢與展望?

??????隨著計算機視覺技術與人工智能、大數據等前沿技術的深度融合,色彩空間的研究和應用將迎來新的發展機遇和挑戰。一方面,新的色彩空間模型可能會不斷涌現,以滿足日益復雜的計算機視覺任務需求。這些模型可能會結合人類視覺感知機理、深度學習的特征提取能力以及對不同場景下顏色變化規律的深入理解,實現更高效、準確的顏色表示和處理。例如,開發基于感知哈希算法的新型色彩空間,能夠在保證顏色感知相似性的同時,實現更快速的顏色匹配和檢索,為大規模圖像數據庫的管理和分析提供支持。
?
??????另一方面,多種色彩空間的協同應用將成為未來發展的重要趨勢。通過在不同任務階段靈活切換和融合 RGB、HSV、Lab 等色彩空間,充分發揮各自的優勢,能夠構建更加智能、魯棒的計算機視覺系統。例如,在自動駕駛系統中,在圖像預處理階段利用 HSV 色彩空間快速過濾出道路、車輛等關鍵目標的顏色區域,然后在目標識別和定位階段采用 Lab 色彩空間進行精確的顏色特征分析,結合深度學習算法實現對交通標志、行人、車輛等目標的準確識別和跟蹤,提高自動駕駛系統在復雜環境下的安全性和可靠性。?

??????此外,隨著物聯網(IoT)設備的廣泛普及,大量的圖像數據將在邊緣設備上進行處理。因此,研究適用于邊緣計算環境的輕量級色彩空間轉換和處理算法也將成為未來的研究熱點之一。這些算法需要在保證一定精度的前提下,降低計算復雜度和能耗,以滿足物聯網設備資源有限的特點。例如,開發基于硬件加速的 RGB - HSV 或 RGB - Lab 快速轉換算法,利用專用的圖像信號處理器(ISP)或現場可編程門陣列(FPGA)實現高效的色彩空間轉換,為智能安防攝像頭、智能家居視覺傳感器等物聯網設備提供強大的圖像處理能力。?

??????綜上所述,RGB、HSV 和 Lab 色彩空間作為計算機視覺領域的基礎工具,在不斷演進和拓展應用的過程中,將持續推動計算機視覺技術在各個領域的創新發展,為解決實際問題提供更有效的技術手段和方法支持。?

致讀者一封信

????????親愛的朋友,無論前路如何漫長與崎嶇,都請懷揣夢想的火種,因為在生活的廣袤星空中,總有一顆屬于你的璀璨星辰在熠熠生輝,靜候你抵達。

???????? 愿你在這紛繁世間,能時常收獲微小而確定的幸福,如春日微風輕拂面龐,所有的疲憊與煩惱都能被溫柔以待,內心永遠充盈著安寧與慰藉。

????????至此,文章已至尾聲,而您的故事仍在續寫,不知您對文中所敘有何獨特見解?期待您在心中與我對話,開啟思想的新交流。


----------- 業精于勤,荒于嬉 -----------

請添加圖片描述

----------- 行成于思,毀于隨 -----------

在這里插入圖片描述


???? 💞 關注博主 帶你實現暢游前后端

???? 🏰 大屏可視化 帶你體驗酷炫大屏

???? 💯 神秘個人簡介 帶你體驗不一樣得介紹

???? 🎀 酷炫邀請函 帶你體驗高大上得邀請


???? ① 🉑提供云服務部署;
???? ② 🉑提供前端、后端、應用程序、H5、小程序、公眾號等相關業務;
???? ③ 🉑提供產品測評,產品推廣業務;
???? 如🈶合作請聯系我,期待您的聯系。
????:本文撰寫于CSDN平臺,作者:xcLeigh所有權歸作者所有) ,https://xcleigh.blog.csdn.net/,如果相關下載沒有跳轉,請查看這個地址,相關鏈接沒有跳轉,皆是抄襲本文,轉載請備注本文原地址。


???? 親,碼字不易,動動小手,歡迎 點贊 ? 收藏,如 🈶 問題請留言(評論),博主看見后一定及時給您答復,💌💌💌


原文地址:https://xcleigh.blog.csdn.net/article/details/147002225(防止抄襲,原文地址不可刪除)

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

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

相關文章

PyTorch多GPU訓練實戰:從零實現到ResNet-18模型

本文將介紹如何在PyTorch中實現多GPU訓練&#xff0c;涵蓋從零開始的手動實現和基于ResNet-18的簡潔實現。代碼完整可直接運行。 1. 環境準備與庫導入 import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l from torchvisio…

micro介紹

micro介紹 Micro 的首要特點是易于安裝&#xff08;它只是一個靜態的二進制文件&#xff0c;沒有任何依賴關系&#xff09;和易于使用Micro 支持完整的插件系統。插件是用 Lua 編寫的&#xff0c;插件管理器可自動為你下載和安裝插件。使用簡單的 json 格式配置選項&#xff0…

Linux內核分頁——線性地址結構

每個進程通過一個指針&#xff08;即進程的mm_struct→pgd&#xff09;指向其專屬的頁全局目錄&#xff08;PGD&#xff09;&#xff0c;該目錄本身存儲在一個物理頁框中。這個頁框包含一個類型為pgd_t的數組&#xff0c;該類型是與架構相關的數據結構&#xff0c;定義在<as…

微信小程序開發:微信小程序上線發布與后續維護

微信小程序上線發布與后續維護研究 摘要 微信小程序作為移動互聯網的重要組成部分,其上線發布與后續維護是確保其穩定運行和持續優化的關鍵環節。本文從研究學者的角度出發,詳細探討了微信小程序的上線發布流程、后續維護策略以及數據分析與用戶反饋處理的方法。通過結合實…

分享一些使用DeepSeek的實際案例

文章目錄 前言職場辦公領域生活領域學習教育領域商業領域技術開發領域 前言 以下是一些使用 DeepSeek 的實際案例&#xff1a; DeepSeek使用手冊資源鏈接&#xff1a;https://pan.quark.cn/s/fa502d9eaee1 職場辦公領域 行業競品分析&#xff1a;剛入職的小李被領導要求一天內…

flink iceberg寫數據到hdfs,hive同步讀取

目錄 1、組件版本 環境變量配置 2、hadoop配置 hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml 3、hive配置 hive-env.sh hive-site.xml HIVE LIB 原始JAR 4、flink配置集成HDFS和YARN 修改iceberg源碼 編譯iceberg-flink-runtime-1…

qq郵箱群發程序

1.界面設計 1.1 環境配置 在外部工具位置進行配置 1.2 UI界面設計 1.2.1 進入QT的UI設計界面 在pycharm中按順序點擊&#xff0c;進入UI編輯界面&#xff1a; 點擊第三步后進入QT的UI設計界面&#xff0c;通過點擊按鈕進行界面設計&#xff0c;設計后進行保存到當前Pycharm…

【C++游戲引擎開發】第10篇:AABB/OBB碰撞檢測

一、AABB(軸對齊包圍盒) 1.1 定義 ?最小點: m i n = ( x min , y min , z min ) \mathbf{min} = (x_{\text{min}}, y_{\text{min}}, z_{\text{min}}) min=(xmin?,ymin?,zmin?)?最大點: m a x = ( x max , y max , z max ) \mathbf{max} = (x_{\text{max}}, y_{\text{…

大模型是如何把向量解碼成文字輸出的

hidden state 向量 當我們把一句話輸入模型后&#xff0c;例如 “Hello world”&#xff1a; token IDs: [15496, 995]經過 Embedding Transformer 層后&#xff0c;會得到每個 token 的中間表示&#xff0c;形狀為&#xff1a; hidden_states: (batch_size, seq_len, hidd…

C++指針(三)

個人主頁:PingdiGuo_guo 收錄專欄&#xff1a;C干貨專欄 文章目錄 前言 1.字符指針 1.1字符指針的概念 1.2字符指針的用處 1.3字符指針的操作 1.3.1定義 1.3.2初始化 1.4字符指針使用注意事項 2.數組參數&#xff0c;指針參數 2.1數組參數 2.1.1數組參數的概念 2.1…

生命篇---心肺復蘇、AED除顫儀使用、海姆立克急救法、常見情況急救簡介

生命篇—心肺復蘇、AED除顫儀使用、海姆立克急救法、常見情況急救簡介 文章目錄 生命篇---心肺復蘇、AED除顫儀使用、海姆立克急救法、常見情況急救簡介一、前言二、急救1、心肺復蘇&#xff08;CPR&#xff09;&#xff08;1&#xff09;適用情況&#xff08;2&#xff09;操作…

基于神經環路的神經調控可增強遺忘型輕度認知障礙患者的延遲回憶能力

簡要總結 這篇文章提出了一種名為CcSi-MHAHGEL的框架&#xff0c;用于基于多站點、多圖譜fMRI的功能連接網絡&#xff08;FCN&#xff09;分析&#xff0c;以輔助自閉癥譜系障礙&#xff08;ASD&#xff09;的識別。該框架通過多視圖超邊感知的超圖嵌入學習方法&#xff0c;整合…

[WUSTCTF2020]level1

關鍵知識點&#xff1a;for匯編 ida64打開&#xff1a; 00400666 55 push rbp .text:0000000000400667 48 89 E5 mov rbp, rsp .text:000000000040066A 48 83 EC 30 sub rsp, 30h .text:000000…

cpp自學 day20(文件操作)

基本概念 程序運行時產生的數據都屬于臨時數據&#xff0c;程序一旦運行結束都會被釋放 通過文件可以將數據持久化 C中對文件操作需要包含頭文件 <fstream> 文件類型分為兩種&#xff1a; 文本文件 - 文件以文本的ASCII碼形式存儲在計算機中二進制文件 - 文件以文本的…

Gartner發布軟件供應鏈安全市場指南:軟件供應鏈安全工具的8個強制功能、9個通用功能及全球29家供應商

攻擊者的目標是由開源和商業軟件依賴項、第三方 API 和 DevOps 工具鏈組成的軟件供應鏈。軟件工程領導者可以使用軟件供應鏈安全工具來保護他們的軟件免受這些攻擊的連鎖影響。 主要發現 越來越多的軟件工程團隊現在負責解決軟件供應鏈安全 (SSCS) 需求。 軟件工件、開發人員身…

備賽藍橋杯-Python-考前突擊

額&#xff0c;&#xff0c;離藍橋杯開賽還有十個小時&#xff0c;最近因為考研復習節奏的問題&#xff0c;把藍橋杯的優先級后置了&#xff0c;突然才想起來還有一個藍橋杯呢。。 到目前為止python基本語法熟練了&#xff0c;再補充一些常用函數供明天考前再背背&#xff0c;算…

榕壹云外賣跑腿系統:基于Spring Boot+MySQL+UniApp的智慧生活服務平臺

項目背景與需求分析 隨著本地生活服務需求的爆發式增長&#xff0c;外賣、跑腿等即時配送服務成為現代都市的剛性需求。傳統平臺存在開發成本高、功能定制受限等問題&#xff0c;中小企業及創業團隊極需一款輕量級、可快速部署且支持二次開發的外賣跑腿系統。榕壹云外賣跑腿系統…

使用Docker安裝Gogs

1、拉取鏡像 docker pull gogs/gogs 2、運行容器 # 創建/var/gogs目錄 mkdir -p /var/gogs# 運行容器 # -d&#xff0c;后臺運行 # -p&#xff0c;端口映射&#xff1a;(宿主機端口:容器端口)->(10022:22)和(10880:3000) # -v&#xff0c;數據卷映射&#xff1a;(宿主機目…

【antd + vue】Modal 對話框:修改彈窗標題樣式、Modal.confirm自定義使用

一、標題樣式 1、目標樣式&#xff1a;修改彈窗標題樣式 2、問題&#xff1a; 直接在對應css文件中修改樣式不生效。 3、原因分析&#xff1a; 可能原因&#xff1a; 選擇器權重不夠&#xff0c;把在控制臺找到的選擇器直接復制下來&#xff0c;如果還不夠就再加&#xff…

Streamlit在測試領域中的應用:構建自動化測試報告生成器

引言 Streamlit 在開發大模型AI測試工具方面具有顯著的重要性&#xff0c;尤其是在簡化開發流程、增強交互性以及促進快速迭代等方面。以下是幾個關鍵點&#xff0c;說明了 Streamlit 對于構建大模型AI測試工具的重要性&#xff1a; 1. 快速原型設計和迭代 對于大模型AI測試…