【P21】OpenCV Python——RGB和BGR,HSV和HSL顏色空間,及VScode中報錯問題解決

P21

  • 1 RGB和BGR
  • 2 HSV和HSL,YUV
    • 2.1 HSV
      • 2.1. 色調H
      • 2.1.2 飽和度S
      • 2.1.3 明度V
    • 2.2 HSL
    • 2.3 YUV
  • 3 顏色空間轉換實戰
  • 4 VScode中報錯問題
  • 5 Windows 下 VScode 路徑格式(VScode很強大,路徑格式寫法自由多樣)

RGB/BGR人眼識別的顏色 ;
HSV/HSB/HSL主要是適用于硬件;
YUV視頻用于視頻存儲;

1 RGB和BGR

在這里插入圖片描述

HSV和HSB表示一個意思,V(value)和B(bright)都表示明度;
YUV視頻領域(節省存儲空間)
在這里插入圖片描述
在這里插入圖片描述

2 HSV和HSL,YUV

在這里插入圖片描述

2.1 HSV

在這里插入圖片描述

2.1. 色調H

用角度度量,取值范圍為0°~360°,從紅色開始按逆時針方向計算,紅色為0°,綠色為120°,藍色為240°。它們的補色是:黃色為60°,青色為180°,紫色為300°;圓柱,一圈不同未知的顏色。

2.1.2 飽和度S

飽和度S表示顏色接近光譜色的程度。一種顏色,可以看成是某種光譜色與白色混合的結果。其中光譜色所占的比例愈大,顏色接近光譜色的程度就愈高,顏色的飽和度也就愈高。飽和度高,顏色則深而艷。光譜色的白光成分為0,飽和度達到最高。通常取值范圍為0%~100%,值越大,顏色越飽和。越接近邊緣顏色越純。

2.1.3 明度V

明度表示顏色明亮的程度,對于光源色,明度值與發光體的光亮度有關;對于物體色,此值和物體的透射比或反射比有關。通常取值范圍為0%(黑)到100%(白)。豎直方向,下面暗,越往上越亮。

在這里插入圖片描述

  • V: 豎直方向表示明度,決定顏色空間中顏色的明暗程度,明度越高,表示顏色越明亮,范圍是 0-100%。明度為0表示純黑色(此時顏色最暗)。

  • 明度減小,就是往光譜色中添加黑色,光譜色所占的比例也在減小,明度減為0,表示光譜色所占的比例為零,導致整個顏色呈現黑色。

  • H:Hue一定的情況下,飽和度減小,就是往光譜色中添加白色,光譜色所占的比例也在減小,飽和度減為0,表示光譜色所占的比例為零,導致整個顏色呈現白色。

在這里插入圖片描述

以紅色為例:

  • 10度處,色度H,紅色;
  • 飽和度S,中間灰色,越往邊緣越紅;
  • 明度V,最下面黑色,越往上越亮;

在這里插入圖片描述

在這里插入圖片描述

當 ,RGB三個顏色都值不好判斷顏色;
HSV可以通過色相范圍判斷顏色;

在這里插入圖片描述

2.2 HSL

HSL豎直方向是亮度,最上面最亮,純白

在這里插入圖片描述

2.3 YUV

YUV主要用于視頻,簡單了解一下
在這里插入圖片描述

在這里插入圖片描述

3 顏色空間轉換實戰

import cv2def callback():passimg=cv2.imread('E:\\Program_Py\\dog.jpeg')#顯示原始圖
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.imshow('img',img)cv2.namedWindow('color',cv2.WINDOW_NORMAL)colorspaces=[cv2.COLOR_BGR2RGBA,cv2.COLOR_BGR2BGRA,cv2.COLOR_BGR2GRAY,cv2.COLOR_BGR2HSV_FULL,cv2.COLOR_BGR2YUV]cv2.createTrackbar('curcolor','color',0,len(colorspaces),callback)#value代表滑塊的位置,起始位置0while True:index=cv2.getTrackbarPos('curcolor','color')cvt_img=cv2.cvtColor(img,colorspaces[index])cv2.imshow('color',cvt_img)key=cv2.waitKey(1)if key & 0xff ==ord('q'):breakcv2.destroyAllWindows()

原圖

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

COLOR_BGR2BGR
在這里插入圖片描述

在這里插入圖片描述

COLOR_BGR2GRAY
在這里插入圖片描述

COLOR_BGR2HSV
在這里插入圖片描述

COLOR_BGR2YUV

4 VScode中報錯問題

在這里插入圖片描述

5 Windows 下 VScode 路徑格式(VScode很強大,路徑格式寫法自由多樣)

VScode下Windowsx下路徑

img1=cv2.imread('E:\\Program_Py\\dog.jpeg')
img2=cv2.imread('.\\hello.jpeg') 
img3=cv2.imread("E:\\Program_Py\\map1.png")
img4=cv2.imread(".\\chess.png")img5=cv2.imread('E:/Program_Py/map2.png')
img6=cv2.imread('./RMB.jpeg')
img7=cv2.imread("E:/Program_Py/lena.png")
img8=cv2.imread("./smallcat1.jpeg")img9=cv2.imread('E:\Program_Py\left_01.png')

不得不說,VScode還是強大,路徑格式怎么寫都對;

cv2.imshow('img1',img1)
cv2.imshow('img2',img2)
cv2.imshow('img3',img3)
cv2.imshow('img4',img4)
cv2.imshow('img5',img5)
cv2.imshow('img6',img6)
cv2.imshow('img7',img7)
cv2.imshow('img8',img8)
cv2.imshow('img9',img9)key=cv2.waitKey()

mac或 Linux下路徑(更多的沒有去驗證)

img=cv2.imread("C:/Users/pvt/Desktop/test.png")

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

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

相關文章

.NET 應用程序 Linux下守護進程腳本編寫

下面的腳本是生產可用,可靠的sh腳本,用于監控 .NET 應用程序并自動重啟。假如你打包發布到Linux的程序名稱為MyAspDemo;推薦打包模式為框架依賴:需要在Linux上安裝對應的donet版本;1.在Linux下新建一個文件&#xff0c…

圖論理論部分

旅游完回來繼續學習。 先來看一下圖論的理論部分,然后稍微做一下DFS的題目。 圖的基本概念 二維坐標中,兩點可以連成線,多個點連成的線就構成了圖。 當然圖也可以就一個節點,甚至沒有節點(空圖) 圖的種…

WebSocket集群方案解析與實現

一、WebSocket集群核心挑戰 1.1 關鍵問題分析 #mermaid-svg-gzRCTMr7wiVCokct {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-gzRCTMr7wiVCokct .error-icon{fill:#552222;}#mermaid-svg-gzRCTMr7wiVCokct .error-t…

使用dify搭建hr簡歷助手-上傳簡歷-對接飛書ai表格

一、需求背景 hr在招聘平臺獲取簡歷后,想整理到簡歷庫,在線管理和維護,及其不方便,所以用dify搭建一個簡歷上傳助手,并且能保存到線上表格,方便維護和查看。 先看下最終的效果我們的工作流即可自動獲取文件…

《算法導論》第 22 章 - 基本的圖算法

大家好!今天我們來深入學習《算法導論》第 22 章的基本圖算法。圖論是計算機科學中的重要基礎,這些基本算法是解決很多復雜問題的基石。本文將結合代碼實現,幫助大家更好地理解和應用這些算法。思維導圖22.1 圖的表示在計算機中,圖…

基于PROFINET的西門子PLC通訊:S7-200與S7-1200在自動化倉儲中的協同應用

一.行業痛點與解決方案傳統倉儲物流系統中,采用西門子SMARTS7-200PLC(如CPUSR20、SR30等型號)的設備往往面臨三大通訊難題:一是無法直接接入以太網網絡,導致多PLC間的數據交互需要通過復雜的串口級聯實現,響…

redis實現秒殺超賣問題的解決方案:(僅限于單體項目)

秒殺實現通過樂觀鎖控制超賣問題通過悲觀鎖控制每個用戶只能下一單,避免用戶多次點擊,發送的多次下單請求(即多個線程)都成功,避免惡意攻擊每個請求訪問Tomcat時,就會分配一個線程處理請求業務邏輯:注*以下邏輯中報錯也…

Go與Python爬蟲實戰對比:從開發效率到性能瓶頸的深度解析

目錄 引言:兩種語言,兩種哲學 開發效率對比:從框架設計看易用性 Python的"開箱即用" Go的"手動組裝" 性能對比:從并發模型看效率差異 理論性能對比 實際測試數據 錯誤處理對比:從編程范式…

初識c語言————排序方法

今天我們學習的是c語言中的排序方法目錄:一.冒泡排序法二.選擇排序法下面我們正式學習c語言中的排序方法一.冒泡排序法1.冒泡排序法的過程:將無序的數組通過數組之間的大小比較,排成有序的樣子2.例如:5,3,4…

爬蟲與數據分析結合案例:中國大學排名爬取與分析全流程

爬蟲與數據分析結合案例:中國大學排名爬取與分析全流程 一、案例背景與目標 本案例以高三網中國大學排名(網址:2021中國的大學排名一覽表_高三網)為數據源,完成從數據爬取到分析可視化的全流程實踐。主要目標包括&am…

行業分享丨SimSolid 在汽車零部件開發中應用的可行性調研及實踐

*本文源自汽車行業用戶范會超投稿1、背景車型短周期開發背景下,高效的仿真技術顯得尤為重要。Altair 推出了多款加速設計/仿真的軟件,其中無網格軟件 SimSolid 與業務有一定的契合度,有必要論證其在汽車零部件結構分析領域的可行性。2、目標評…

MacOS字體看起來比在 Windows 上更好?

字體控們注意啦!🎉你們有沒有發現,同樣一段文字,在Mac和Windows上看起來就是不一樣?Mac上的字仿佛自帶柔光濾鏡,圓潤又舒適;而Windows上的字則像是精心雕琢的刀鋒,銳利且清晰。這背后…

Torch -- 卷積學習day1 -- 卷積層,池化層

目錄 一、CNN概述 二、卷積層 1、卷積核 2、卷積計算 3、邊緣填充 4、步長 5、多通道卷積計算 6、多卷積核卷積計算 7、特征圖大小 8、卷積參數共享 9、局部特征提取 10、卷積層API 三、池化層 1、池化層概述 1.池化層的作用 2.池化層類型 2、池化層計算 3、步…

藍橋杯---第六屆省賽單片機組真題

先出手寫的代碼&#xff0c;代碼分析還需要一段時間&#xff0c;不難&#xff0c;大家認真寫。#include <STC15F2K60S2.H> #include "Seg.h" #include "LED.h" #include "Key.h" #include "DS1302.h" #include "DS18B20.h&…

GPT-5深度解析:精準、高效、務實的新一代AI引擎

&#x1f31f; GPT-5深度解析&#xff1a;精準、高效、務實的新一代AI引擎在萬眾矚目中&#xff0c;OpenAI于2025年8月7日正式推出GPT-5——這一代模型沒有華麗的創意革命&#xff0c;卻以驚人的準確率提升、斷崖式降價和強大的工程能力&#xff0c;悄然重塑了生成式AI的應用邊…

oss(阿里云)前端直傳

WEB端前端直傳 參考文檔&#xff1a;web前端直傳并設置上傳回調 封裝oss-upload.ts // 圖片上傳 import { uploadToken } from /api/uploadFile.js // 獲取oss token接口// 定義 OSS 信息類型 interface OssInfo {policy: string;signature: string;x_oss_credential: strin…

vscode uv 發布一個python包:編輯、調試與相對路徑導包

背景 最近一直在使用uv做python包管理&#xff0c;用起來很方便。 尤其是在代碼上傳到github的時候&#xff0c;pyproject.toml 會顯示出當前項目依賴的python包。這樣在把代碼下載到本地之后&#xff0c;直接uv sync就可以很方便地恢復出python環境。 uv 除了有上述優點&…

Secure 第四天作業

實驗需求&#xff1a;需求一拓撲&#xff1a;按照以上拓撲所示&#xff0c;完成以下需求&#xff1a;參考以上拓撲&#xff0c;配置設備IP地址&#xff0c;使用UNL里Secure第四天拓撲即可。&#xff08;有興趣的同學課后也可按照PPT原拓撲做做實驗&#xff09;&#xff1b;配置…

利用開漏輸出模式模擬IIC

/************************************************************利用IO口模擬IIC時序&#xff0c;需要使用2個IO口(SDA和SCL)SCL時鐘線只能由主器件進行控制&#xff0c;所以SCL引腳必須為輸出模式SDA數據線&#xff0c;在主器件發送數據時&#xff0c;SDA引腳為輸出模式SDA數…

閘機控制系統從設計到實現全解析:第 5 篇:RabbitMQ 消息隊列與閘機通信設計

第 5 篇&#xff1a;RabbitMQ 消息隊列與閘機通信設計RabbitMQ 是一款開源的消息隊列中間件&#xff08;Message Queue&#xff0c;MQ&#xff09;&#xff0c;基于 Erlang 語言開發&#xff0c;遵循 AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c;高級消息隊…