CNCF云原生生態版圖-分類指南(三)- 運行時

CNCF云原生生態版圖-分類指南(三)- 運行時

  • CNCF云原生生態版圖-分類指南
    • 三、運行時(Runtime)
      • (一)云原生存儲(Cloud Native Storage)
        • 1. 是什么?
        • 2. 解決什么問題?
        • 3. 如何解決問題?
        • 4. 使用的技術
        • 5. 項目和產品整體介紹
      • (二)容器運行時(Container Runtime)
        • 1. 是什么?
        • 2. 解決什么問題?
        • 3. 如何解決問題?
        • 4. 使用的技術
        • 5. 項目和產品整體介紹
      • (三)云原生網絡(Cloud Native Network)
        • 1. 是什么?
        • 2. 解決什么問題?
        • 3. 如何解決問題?
        • 4. 使用的技術
        • 5. 項目和產品整體介紹
      • (四)小結
  • 鏈接

CNCF云原生生態版圖-分類指南

三、運行時(Runtime)

在這里插入圖片描述

運行時層包含容器在云原生環境中運行所需的一切。包括用于啟動容器的代碼,稱為容器運行時;使持久存儲可用于容器的工具;以及管理容器環境網絡的 VPN。

但請注意,不能將這些資源與上面討論的 Provisioning 層處理的網絡和存儲工作混淆。那些專注于讓容器平臺運行。該類別中的工具用于啟動和停止容器,幫助它們存儲數據,并支持它們相互通信。

(一)云原生存儲(Cloud Native Storage)

1. 是什么?

存儲是存儲應用的持久性數據的位置,通常稱為持久卷。為了可靠地運行,應用程序需要能夠輕松訪問存儲。通常,當說持久數據時,指的是存儲數據庫、消息或任何其他信息,并且希望在應用程序重新啟動時不會消失。

2. 解決什么問題?

云原生架構具有流暢、靈活且富有彈性的特點,使得容器重啟時數據的持久化變得具有挑戰性。容器化應用程序為了擴縮容或自我修復,通常會被不斷創建和刪除,也可能隨著時間的推移改變運行的物理位置。這些原因促使云原生環境下的存儲必須以獨立節點的形式提供。存在如下幾個重大挑戰:

  • 要存儲數據,就需要硬件,而且磁盤與任何其他硬件一樣,受基礎結構限制,這是我們面臨的第一個重大挑戰。
  • 然后是實際的存儲接口,數據中心之間的存儲接口可能存在較大差異(在舊世界中,每個基礎設施都有自己的存儲解決方案和自己的接口),這使得數據中心難以具備可移植性。
  • 最后,手動資源調配和自動擴展不兼容,因此,為了從云的彈性中受益,必須自動調配存儲資源。

云原生存儲就是專門為這些新的云原生挑戰量身定制的。

3. 如何解決問題?

云原生存儲分類中的工具能提供如下的能力:

  1. 為容器提供云原生存儲能力。
  2. 標準化容器和存儲接口。
  3. 通過備份和恢復提供數據保護。

云原生存儲通過使用云原生兼容的容器存儲接口和可以自動配置的存儲,來消除人力瓶頸,以實現自動擴展和自我修復。

4. 使用的技術

云原生存儲的實現主要依賴于容器存儲接口 (CSI) ,該接口提供了一組標準 API,為容器提供文件和塊存儲。該類別中有許多工具,包括開源和供應商提供的工具,它們利用 CSI 為容器提供按需存儲。

此外,還有一些技術旨在解決其他云原生存儲挑戰。Minio 提供了與 S31 兼容的對象存儲 API。Velero 等工具有助于簡化備份和恢復 Kubernetes 集群本身以及應用程序使用的持久數據的過程。

5. 項目和產品整體介紹

屬于云原生存儲分類的項目和產品共有 72 個,其中 CNCF 項目有 12 個。這些項目和產品的關鍵字有:

  • Persistent volume 持久卷
  • CSI 容器存儲接口
  • Storage API 存儲 API
  • Backup and restore 備份和還原

CNCF 項目如下表所示:

項目CNCF 項目階段說明
Rook已畢業Rook 將分布式存儲系統轉變為自我管理、自我擴展、自我修復的存儲服務
CubeFS孵化中一款新一代云原生開源存儲系統,支持 S3、HDFS2 和 POSIX3 等訪問協議
Longhorn孵化中為 Kubernetes 等容器編排平臺提供可靠的、持久化的存儲解決方案。它允許容器在不同的節點之間遷移時,仍然能夠訪問和使用之前存儲的數據
Carina沙盒一個標準的 kubernetes CSI 插件
Curve已存檔一個高性能、輕量級運維、云原生的開源分布式存儲系統
HwameiStor沙盒一款 Kubernetes 原生的容器附加存儲 (CAS4) 解決方案,將 HDD、SSD 和 NVMe 磁盤形成本地存儲資源池進行統一管理,使用 CSI 架構提供分布式的本地數據卷服務,為有狀態的云原生應用或組件提供數據持久化能力
K8up沙盒通過與 Kubernetes 緊密集成,為容器化應用提供了可靠的備份和恢復功能,確保應用數據在災難事件或數據丟失場景下能夠得到有效的保護和恢復
Kanister沙盒用于在 Kubernetes 環境下處理復雜的數據操作任務,如備份、恢復、遷移和數據處理等
OpenEBS沙盒提供了靈活的存儲選項,能夠讓用戶在容器編排平臺中輕松地管理和使用存儲資源
ORAS沙盒一個專注于將 OCI5(Open Container Initiative)注冊表用作存儲的項目
Piraeus Datastore沙盒一個云原生存儲系統,可為 Kubernetes 本地持久卷提供動態配置、資源管理和高可用性
Vineyard沙盒用于在數據密集型應用場景中高效地管理和共享數據。它能夠跨越不同的計算框架(如 Spark、Pandas 等)和存儲系統(如分布式文件系統、對象存儲等),為數據的高效處理提供支持

(二)容器運行時(Container Runtime)

1. 是什么?

如容器注冊表中所述,容器是一組用于執行(或啟動)應用程序的計算約束6。容器化應用程序認為它們正在自己的專用計算機上運行,并且不知道它們正在與其他進程共享資源(類似于虛擬機)。

容器運行時是執行容器化應用程序的軟件。如果沒有運行時,容器鏡像就無法運行起來,它就只是指定容器化應用程序配置的靜態文件。運行時將在容器中啟動應用程序,并為其提供所需的資源。

2. 解決什么問題?

容器鏡像(具有應用程序規范的文件)必須以標準化、安全和隔離的方式啟動。標準化是因為需要在標準的操作規則下,保證容器能夠在任何地方運行。安全是因為不希望任何不應該訪問它的人訪問。隔離是不希望應用程序影響其他應用程序或受其他應用程序影響(例如,同地部署應用程序(co-located application7)崩潰,不會相互影響),隔離起到基礎的保護作用。此外,還需要為應用程序提供 CPU、存儲和內存等資源。

3. 如何解決問題?

容器運行時以標準化的方式在所有環境中啟動應用程序,并設置安全邊界。該類工具在安全邊界設置上會有所不同,比如 CRI-O 或 gVisor 等運行時就大大強化了其安全邊界。運行時還要為容器設置資源限制,如果不加限制,應用程序就會按需消耗資源,這可能會造成從其他應用程序搶奪資源的現象,因此最好在運行容器時對使用資源進行限制。

4. 使用的技術

并不是所有的容器運行時工具都采用相同的方式實現。Containerd(著名的 Docker 產品的一部分)和 CRI-O 是標準的容器運行時實現。還有一些工具將容器的使用擴展到其他技術,例如 Kata,它支持將容器作為 VM 運行。其他工具旨在解決與容器相關的特定問題,例如 gVisor,它在容器和操作系統之間提供額外的安全層。

5. 項目和產品整體介紹

屬于容器運行時分類的項目和產品共有 20 個,其中 CNCF 項目有 10 個。這些項目和產品的關鍵字有:

  • Container 容器
  • MicroVM 微型虛擬機

CNCF 項目如下表所示:

項目CNCF 項目階段說明
containerd已畢業行業標準的容器運行時,強調簡單性、健壯性和可移植性
CRI-O已畢業適用于 Kubernetes 的輕量級容器運行時
Inclavare Containers沙盒一種基于硬件安全增強技術的容器解決方案。它主要專注于利用硬件的可信執行環境(TEE,如英特爾 SGX)來提供容器化應用的安全隔離和隱私保護
Krustlet已存檔一個用于在 Kubernetes 集群中運行 WebAssembly(Wasm)應用程序的工具
Kuasar沙盒聚焦于提升容器運行的性能、安全性和資源利用效率
Lima沙盒用于在本地環境輕松地運行 Linux 虛擬機,并且這些虛擬機能夠很好地支持容器運行時(如 Docker、containerd)
rkt已存檔一種輕量級、安全且遵循開放標準的容器技術
Virtual Kubelet沙盒一種偽裝成 kubelet 的開源 Kubernetes kubelet 實現
WasmEdge Runtime沙盒將云原生和無服務器應用程序范例引入邊緣計算
youki沙盒Rust 中 OCI 運行時規范的實現,類似于 runc8

(三)云原生網絡(Cloud Native Network)

1. 是什么?

容器通過云原生網絡相互通信以及與基礎設施層通信。分布式應用程序具有多個組件,這些組件將網絡用于不同的目的。此類別中的工具在現有網絡之上創建一個專門用于應用通信的虛擬網絡,稱為重疊網(overlay network)。

2. 解決什么問題?

雖然通常將容器中運行的代碼稱為應用程序,但現實情況是,大多數容器只包含大型應用程序的一小部分特定功能。現代應用程序(如 Netflix 或 Gmail)由許多更小的組件組成,每個組件都在自己的容器中運行。為了允許所有這些獨立的部分作為一個內聚的應用程序運行,容器需要各自相互通信。此類別中的工具提供專用通信網絡。

在容器之間流動的數據和消息可能包含敏感或私有數據。由于云原生網絡使用軟件來控制、檢查和修改數據流,因此管理、保護和隔離容器之間的連接要容易得多。云原生網絡的可編程性(programmable)和聲明式(declarative)支持通過擴展容器網絡和網絡策略(例如防火墻和訪問規則),以允許應用程序連接到在容器網絡外部運行的虛擬機或服務。

3. 如何解決問題?

此類別中的項目和產品使用容器網絡接口 (CNI)(一個 CNCF 項目)為容器化應用程序提供網絡功能。其中一些工具,如 Flannel,相當簡約,為容器提供最基本的連接。其他工具(如 NSX-T)提供完整的軟件定義網絡層,為每個 Kubernetes 命名空間創建一個隔離的虛擬網絡。

容器網絡至少需要為每個 Pod 分配 一個IP 地址(這是容器化應用程序在 Kubernetes 中運行的位置),以允許其他進程訪問它。

4. 使用的技術

該分類下項目和產品的多樣性和創新性,在很大程度上是源自于 CNI(類似于上面提到的 storage 和 Container Storage Interface)。CNI 標準化了網絡層為 Pod 提供功能的方式。 為 K8S 環境選擇合適的容器網絡至關重要,有許多工具可供選擇。Weave Net、Antrea、Calico 和 Flannel 都提供了有效的開源網絡層。它們的功能差異很大,最終應根據特定需求來進行選擇。

許多供應商使用軟件定義網絡 (SDN) 工具支持和擴展 Kubernetes 網絡,提供對網絡流量的更多洞察,來更好的實施網絡策略,乃至將容器網絡和策略擴展到更廣泛的數據中心。

5. 項目和產品整體介紹

屬于云原生網絡分類的項目和產品共有 27 個,其中 CNCF 項目有 10 個。這些項目和產品的關鍵字有:

  • SDN 軟件定義網絡
  • Network Overlay 網絡疊加

CNCF 項目如下表所示:

項目CNCF 項目階段說明
Cilium已畢業用于提供、保護和觀察工作負載之間的網絡連接,由革命性的內核技術 eBPF 提供支持
Container Network Interface (CNI)孵化中一種容器網絡規范。它定義了容器運行時和網絡插件之間的標準接口,目的是為了讓容器能夠無縫地連接到各種不同的網絡環境,同時也方便網絡插件開發者創建能夠兼容多種容器運行時的網絡解決方案
Antrea沙盒為容器提供網絡連接、網絡策略實施以及服務發現等功能,旨在簡化容器網絡的管理并提升網絡性能和安全性
CNI-Genie沙盒一個用于容器網絡接口(CNI)的多網絡插件解決方案。它允許在同一個 Kubernetes 集群中同時使用多個網絡插件,為容器提供靈活的網絡配置選擇,以滿足復雜多樣的網絡需求
FabEdge已存檔一個專為邊緣計算場景設計的開源 Kubernetes 容器網絡解決方案
Kube-OVN沙盒將 SDN 的能力和云原生結合, 提供豐富的功能,極致的性能以及良好的可運維性
kube-vip沙盒一個用于 Kubernetes 集群的虛擬 IP(VIP)管理工具。它主要解決在 Kubernetes 集群中為服務提供高可用的網絡訪問入口的問題,確保在集群節點故障或網絡變化等情況下,服務的 IP 地址始終保持可用
Network Service Mesh沙盒一種用于在云原生環境中管理和交付網絡服務的技術。它以服務網格的概念應用于網絡服務,將網絡功能(如負載均衡、防火墻、加密等)抽象為可管理的網絡服務,并通過一個分布式的網狀架構來提供、發現和消費這些服務
Spiderpool沙盒一個 Kubernetes 的 underlay9 和 RDMA10 網絡解決方案, 它能運行在裸金屬、虛擬機和公有云上
Submariner沙盒用于在多個 Kubernetes 集群之間建立安全的網絡連接,實現跨集群的服務發現和通

(四)小結

云原生運行時提供了容器在云原生環境中運行所需的所有工具:

  • 云原生存儲使應用程序能夠輕松快速地訪問可靠運行所需的數據。
  • 容器運行時,用于創建和啟動執行應用程序代碼的容器。
  • 云原生網絡為容器化應用程序提供通信連接。

鏈接

  • CNCF Landscape
  • CNCF LANDSCAPE GUIDE

  1. Amazon S3(Simple Storage Service)是亞馬遜公司提供的一種對象存儲服務。它允許用戶在網絡上的任何位置存儲和檢索任意數量的數據。這些數據被存儲為對象,對象可以是文件、圖像、視頻等各種格式的數據。 ??

  2. HDFS(Hadoop Distributed File System)是一個分布式文件系統,是 Apache Hadoop 項目的核心子項目。它被設計用來在普通硬件構成的集群上存儲大規模數據集,并且能夠提供高吞吐量的數據訪問。例如,像互聯網公司存儲海量的用戶日志數據、搜索引擎存儲網頁索引等場景都會用到 HDFS。 ??

  3. POSIX(Portable Operating System Interface)是一套 IEEE(電氣和電子工程師協會)定義的標準。它的目的是為了在不同的操作系統之間提供一個統一的應用程序接口(API)規范,使得應用程序源代碼在經過適當的編譯后,可以在多種符合 POSIX 標準的操作系統上運行,提高操作系統之間應用程序的可移植性。 ??

  4. 容器附加存儲(Container - Attached Storage,CAS)是一種專門為容器化環境設計的存儲方式。它緊密依附于容器,主要用于滿足容器對存儲的動態、靈活和高性能的需求。與傳統存儲方式不同,CAS 能夠更好地適應容器的生命周期,從容器的創建、運行到銷毀的全過程提供適配的存儲服務。 ??

  5. Open Container Initiative(OCI)是一個開源的、獨立于廠商的容器規范組織。它的成立是為了建立開放的容器標準,確保容器技術在不同的操作系統和云平臺之間具有更好的互操作性和兼容性。 ??

  6. 在計算機科學和相關領域,計算約束是指對計算資源(如 CPU、GPU、內存、存儲等)的限制或條件。這些約束可以是硬件本身的物理限制,也可以是由軟件、系統配置、用戶需求或其他因素施加的限制。 ??

  7. “co - located application” 指的是同地部署的應用程序。它是一種軟件部署策略,即多個應用程序或應用程序的組件被放置在相同的物理位置或接近的位置,這個位置可以是同一臺服務器、同一個數據中心的服務器集群,或者是同一云計算區域內的資源池。 ??

  8. runc 是一個輕量級的、符合 OCI(Open Container Initiative)標準的容器運行時工具。它主要用于創建和運行容器,是容器運行的底層實現之一,在容器生態系統中起著至關重要的作用。例如,在 Kubernetes 等容器編排平臺中,runc 常常被用作默認的容器運行時來啟動和管理容器。 ??

  9. 在網絡和計算機系統領域,“underlay” 通常指底層基礎設施或基礎網絡。它是構建上層網絡或應用的基礎,提供物理連接、基本的網絡拓撲和傳輸功能等。 ??

  10. RDMA(Remote Direct Memory Access)即遠程直接內存訪問,是一種用于計算機之間高速數據傳輸的技術。它允許計算機在不經過操作系統內核的情況下,直接從一個計算機的內存訪問另一個計算機的內存,從而實現低延遲、高帶寬的數據傳輸,主要應用于高性能計算、存儲系統和數據中心網絡等領域。 ??

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

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

相關文章

機器學習經典算法

機器學習經典算法學習和分享。 k近鄰算法 線性回歸 梯度下降法 PCA主成分分析法 多項式回歸 邏輯回歸 支撐向量機SVM 決策樹 隨機森林 評價分類指標

MVC基礎——市場管理系統(三)Clean Architecture

文章目錄 項目地址五、Clean Architecture5.1 user cage driven5.1.1創建CoreBusiness 5.2 創建UseCases5.2.1 創建CategoriesUseCases1. 創建VeiwCategoriesUseCase獲取所有Cagegory 5.2.2. 實現ICategoryRepository接口3. 實現獲取所有Category的方法4. 實現獲取一個Cagegory…

手機上和電腦上都能觀看的翻頁電子書是如何制作的?

想知道手機上和電腦上都能觀看的翻頁電子書是都是如何制作的? 想知道這樣的電子書是怎樣呈現出來的? 那收藏這篇文章,我來跟大家說說該如何實現。 操作方法 一、登錄FLBOOK 二、開始制作,有多種創建方式,分別是&…

ABAP時間戳與日期時間轉換及時區處理

一、時間戳轉換為日期時間 1. 基本轉換 CONVERT TIME STAMP <fs_back>-lastchangedatetime TIME ZONE sy-zonloINTO DATE DATA(lv_date)TIME DATA(lv_time).2. 解決8小時時差問題的方案 方案1&#xff1a;直接使用UTC時區&#xff08;推薦&#xff09; CONVERT TIME …

Java 實現給pdf文件指定位置蓋章功能

Java 實現給pdf文件指定位置蓋章功能 開發中遇到一個需求, 需要給用戶上傳的的pdf文件, 指定位置上蓋公章的功能, 經過調研和對比, 最終確定實現思路. 這里是使用pdf文件中的關鍵字進行章子的定位, 之所以這樣考慮是因為如果直接寫死坐標的話, 可能會出現因pdf大小, 縮放, 蓋章…

ASP.NET Core API + MySql

環境 數據庫&#xff1a; mysql8.0 后端&#xff1a; vs2022 ASP.NET Core API .net 8 前端&#xff1a; Hbuilderx bootstrap 5.3.0 jquery v3.7.1 bootstrap-table 1.23.5 創建項目 添加資源包 AutoMapper Microsoft.EntityFrameworkCore.Tools 8.0.0 Pomelo.EntityFramew…

RFDiffusion 計算鍵角函數get_ang解讀

get_ang 函數&#xff08;kinematics.py包中&#xff09;計算三組原子 a,b,c 所形成的平面角&#xff08;planar angle&#xff09;&#xff0c;即 b 為頂點&#xff0c; a,b,c 所確定的角度。 源代碼&#xff1a; def get_ang(a, b, c):"""calculate planar …

Bananna Pi開源社區聯合矽昌通信打造開源的低成本Wifi5路由器

香蕉派 BPI-Wifi5 路由器采用矽昌SF19A2890S2芯片方案設計。它是一款高性能無線路由器&#xff0c;適用于小微企業、家庭和其他網絡環境。Banana Pi開源社區提供整體解決方案。所有代碼開源&#xff0c;用戶可以在上面自由開發自己的應用。 Banana Pi wifi5 路由器github代碼: …

圖像融合算法筆記2024 CDTNet

目錄 ControlCom-Image-Composition CDTNet-High-Resolution-Image-Harmonization 依賴項: trilinear 推理代碼ok: ControlCom-Image-Composition diffusesion https://github.com/bcmi/ControlCom-Image-Composition CDTNet-High-Resolution-Image-Harmonization

item2 for macos

安裝Item2 brew install iterm2 查看終端類型 cat /etc/shells Mac OS X 10.15 已經將默認的shell從Bash換成了zsh&#xff0c;所以不用安裝&#xff0c;10.15以前的可以使用下面的命令進行安裝 brew install zsh 安裝Oh My ZSH # curl sh -c "$(curl -fsSL https://ra…

https證書生成、linux 生成https證書、nginx 配置https證書

1. 檢查 Certbot 是否已安裝 which certbot 2. 安裝 Certbot 2.1啟用 EPEL 倉庫&#xff08;如果尚未啟用&#xff09;&#xff1a; sudo yum install epel-release 2.2 安裝 Certbot 和 Nginx 插件&#xff1a; sudo yum install certbot python3-certbot-nginx 2.3驗證安…

Pytest-Bdd-Playwright 系列教程(14):Docstring 參數

Pytest-Bdd-Playwright 系列教程&#xff08;14&#xff09;&#xff1a;Docstring 參數 前言一、什么是docstring?二、基本語法三、主要特點四、實際例子五、注意事項六、使用建議總結 前言 在自動化測試的過程中&#xff0c;我們經常需要處理復雜的測試數據或需要輸入多行文…

手機租賃系統開發指南一站式服務流程解析

內容概要 手機租賃系統的開發是一個復雜但有趣的過程&#xff0c;像搭建樂高一樣&#xff0c;只要找到合適的模塊&#xff0c;就能打造出一個賓至如歸的租賃平臺。在這部分&#xff0c;我們將對開發流程的整體結構進行簡要概述&#xff0c;并指出每個環節的重要性。 首先&…

OpenAI 正式賦予 ChatGPT 通過視頻實時與用戶互動的能力

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

深入了解C++中const的用法

文章目錄 一、C中的const如何理解&#xff1f;二、C中的const與C語言中的const有何區別&#xff1f;三、const與指針、引用的結合使用 一、C中的const如何理解&#xff1f; 在C中&#xff0c;const是一個關鍵字&#xff0c;用來表示常量性&#xff0c;意在告訴編譯器某些變量或…

EasyExcel設置表頭上面的那種大標題(前端傳遞來的大標題)

1、首先得先引用easyExcel的版本依賴&#xff0c;我那 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version> </dependency> 2、然后得弄直接的實體類&#xff0c;&…

純血鴻蒙崛起,原生Android挑戰?兩大操作系統巔峰對決,智能設備未來誰主沉浮?

鴻蒙HarmonyOS和原生Android系統雖然在一些方面相似&#xff0c;但在架構、設計理念、API、開發工具等方面存在一些差異。鴻蒙系統的目標是跨設備、分布式的操作系統&#xff0c;強調多設備協同和資源共享&#xff0c;而Android則主要集中在智能手機和移動設備領域。 下面將從…

計算機網絡:傳輸層、應用層、網絡安全、視頻/音頻/無線網絡、下一代因特網

目錄 &#xff08;五&#xff09;傳輸層 1&#xff0e;傳輸層尋址與端口 2&#xff0e;無連接服務與面向連接服務 3. 傳輸連接的建立與釋放 4. UDP 的優點 5. UDP 和 TCP 報文段報頭格式 6. TCP 的流量控制 7&#xff0e;TCP 的擁塞控制 8. TCP 傳送連接的管理 &#…

【前端開發】HTML+CSS網頁,可以拿來當作業(免費開源)

HTML代碼 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content_lizhongyu"widthdevice-width, initial-scale1.0"><title>小兔鮮兒-新鮮、惠民、快捷<…

CV(4)--邊緣提取和相機模型

前言 僅記錄學習過程&#xff0c;有問題歡迎討論 邊緣提取&#xff08;涉及語義分割&#xff09;&#xff1a; 圖象的邊緣是指圖象局部區域亮度變化顯著的部分,也有正負之分&#xff0c;暗到亮為正 求邊緣的幅度&#xff1a;sobel&#xff0c;Canny算子 圖像分高頻分量和低…