中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

百度統(tǒng)計網(wǎng)站速度診斷快速優(yōu)化官網(wǎng)

百度統(tǒng)計網(wǎng)站速度診斷,快速優(yōu)化官網(wǎng),在線做網(wǎng)站黃,專業(yè)做家居的網(wǎng)站有哪些Python 顏色檢測項目 今天的項目將非常有趣和令人興奮。我們將與顏色打交道,并在項目過程中學(xué)習(xí)許多概念。顏色檢測對于識別物體來說是必要的,它也被用作各種圖像編輯和繪圖應(yīng)用的工具。 什么是顏色檢測? 顏色檢測是檢測任何顏色名稱的過程…

在這里插入圖片描述

Python 顏色檢測項目

今天的項目將非常有趣和令人興奮。我們將與顏色打交道,并在項目過程中學(xué)習(xí)許多概念。顏色檢測對于識別物體來說是必要的,它也被用作各種圖像編輯和繪圖應(yīng)用的工具。

什么是顏色檢測?

顏色檢測是檢測任何顏色名稱的過程。這看起來很簡單,對吧?對于人類來說,這是一個極其簡單的任務(wù),但對于計算機(jī)來說,卻不是那么直接。人眼和大腦協(xié)同工作將光轉(zhuǎn)化為顏色。我們眼睛中的光感受器將信號傳輸給大腦,大腦再識別顏色。從小開始,我們就將某些光線與它們的顏色名稱聯(lián)系起來。我們將使用類似的方法來檢測顏色名稱。
在這里插入圖片描述

關(guān)于 Python 顏色檢測項目

在這個顏色檢測 Python 項目中,我們將會構(gòu)建一個應(yīng)用程序,通過點擊顏色,你可以自動獲得顏色的名稱。為此,我們將有一個包含顏色名稱及其值的數(shù)據(jù)文件。然后,我們將計算與每種顏色的距離,并找到最短的距離。

數(shù)據(jù)集

顏色由3種主要顏色組成:紅、綠、藍(lán)。在計算機(jī)中,我們定義每種顏色的值在0到255的范圍內(nèi)。那么,我們有多少種方式可以定義顏色呢?答案是 256256256 = 16,581,375。大約有1650萬種不同的方式來表示顏色。在我們的數(shù)據(jù)集中,我們需要將每種顏色的值與它們相應(yīng)的名稱對應(yīng)起來。但不用擔(dān)心,我們不需要映射所有的值。我們將使用一個包含 RGB 值及其相應(yīng)名稱的數(shù)據(jù)集。CSV 文件來自以下鏈接:

  • https://download.csdn.net/download/jrckkyy/90283529

colors.csv 文件包含 865 個顏色名稱以及它們的 RGB 和十六進(jìn)制值。

必備知識

在開始這個帶有源代碼的 Python 項目之前,你應(yīng)該熟悉 Python 的計算機(jī)視覺庫 OpenCV 和 Pandas。

OpenCV、Pandas 和 numpy 是這個 Python 項目中必需的 Python 包。要安裝它們,只需在終端中運(yùn)行這個 pip 命令:

pip install opencv-python numpy pandas
構(gòu)建 Python 顏色檢測項目的步驟

以下是構(gòu)建可以檢測顏色的 Python 應(yīng)用程序的步驟:

  1. 下載并解壓 zip 文件
  • https://download.csdn.net/download/jrckkyy/90283529

項目文件夾包含3個文件:

  • Color_detection.py – 項目的主要源代碼。
  • Colorpic.jpg – 用于實驗的樣本圖片。
  • Colors.csv – 包含我們數(shù)據(jù)集的文件。
  1. 從用戶那里獲取圖像
    我們使用 argparse 庫創(chuàng)建一個參數(shù)解析器。我們可以直接從命令提示符中提供圖像路徑:
import argparse
ap = argparse.ArgumentParser()
ap.add_argument('-i', '--image', required=True, help="Image Path")
args = vars(ap.parse_args())
img_path = args['image']
# 使用 OpenCV 讀取圖像
img = cv2.imread(img_path)
  1. 用 pandas 讀取 CSV 文件
    當(dāng)需要對數(shù)據(jù)文件如 CSV 進(jìn)行各種操作時,pandas 庫非常有用。pd.read_csv() 讀取 CSV 文件并將其加載到 pandas DataFrame 中。我們給每個列分配了一個名稱,以便于訪問。
# 使用 pandas 讀取 CSV 文件并命名每一列
index=["color","color_name","hex","R","G","B"]
csv = pd.read_csv('colors.csv', names=index, header=None)
  1. 在窗口上設(shè)置鼠標(biāo)回調(diào)事件
    首先,我們創(chuàng)建一個窗口以顯示輸入的圖像。然后,當(dāng)鼠標(biāo)事件發(fā)生時,我們設(shè)置一個回調(diào)函數(shù),該函數(shù)將被調(diào)用。
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw_function)

通過這些代碼行,我們將窗口命名為 ‘image’,并在鼠標(biāo)事件發(fā)生時調(diào)用 draw_function()。

  1. 創(chuàng)建 draw_function
    它會計算我們雙擊的像素的 RGB 值。函數(shù)參數(shù)包括事件名稱、鼠標(biāo)位置的 (x,y) 坐標(biāo)等。在函數(shù)中,我們檢查事件是否為雙擊,如果是,則計算并設(shè)置 r、g、b 值以及鼠標(biāo)的位置。
def draw_function(event, x, y, flags, param):if event == cv2.EVENT_LBUTTONDBLCLK:global b, g, r, xpos, ypos, clickedclicked = Truexpos = xypos = yb, g, r = img[y, x]b = int(b)g = int(g)r = int(r)
  1. 計算距離以獲取顏色名稱
    我們有 r、g 和 b 的值?,F(xiàn)在,我們需要另一個函數(shù),該函數(shù)將從 RGB 值返回顏色名稱。為了獲得顏色名稱,我們計算一個距離(d),該距離告訴我們我們離顏色有多近,并選擇距離最短的那一個。

我們的距離由以下公式計算:

d = abs(Red – ithRedColor) + abs(Green – ithGreenColor) + abs(Blue – ithBlueColor)
def getColorName(R, G, B):minimum = 10000for i in range(len(csv)):d = abs(R - int(csv.loc[i, "R"])) + abs(G - int(csv.loc[i, "G"])) + abs(B - int(csv.loc[i, "B"]))if(d <= minimum):minimum = dcname = csv.loc[i, "color_name"]return cname
  1. 在窗口上顯示圖像
    每當(dāng)雙擊事件發(fā)生時,它將更新窗口上的顏色名稱和 RGB 值。

使用 cv2.imshow() 函數(shù),我們在窗口上繪制圖像。當(dāng)用戶雙擊窗口時,我們使用 cv2.rectanglecv2.putText() 函數(shù)繪制一個矩形并獲取顏色名稱以在窗口上顯示文本。

while(1):cv2.imshow("image", img)if (clicked):# cv2.rectangle(image, startpoint, endpoint, color, thickness) -1 厚度填滿整個矩形cv2.rectangle(img, (20, 20), (750, 60), (b, g, r), -1)# 創(chuàng)建要顯示的文本字符串(顏色名稱和 RGB 值)text = getColorName(r, g, b) + ' R=' + str(r) + ' G=' + str(g) + ' B=' + str(b)# cv2.putText(img, text, start, font(0-7), fontScale, color, thickness, lineType, (可選的 bottomLeft bool) )cv2.putText(img, text, (50, 50), 2, 0.8, (255, 255, 255), 2, cv2.LINE_AA)# 對于非常淺的顏色,我們將在黑色背景下顯示文本if(r + g + b >= 600):cv2.putText(img, text, (50, 50), 2, 0.8, (0, 0, 0), 2, cv2.LINE_AA)clicked = False# 當(dāng)用戶按下 'esc' 鍵時中斷循環(huán)if cv2.waitKey(20) & 0xFF == 27:break
cv2.destroyAllWindows()
  1. 運(yùn)行 Python 文件
    現(xiàn)在這個簡單的 Python 項目已經(jīng)完成,你可以從命令提示符中運(yùn)行 Python 文件。確保使用 ‘-i’ 參數(shù)提供圖像路徑。如果圖像位于另一個目錄中,則需要提供圖像的完整路徑:
python color_detection.py -i <在這里添加你的圖像路徑>

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

輸出

雙擊窗口以知道像素的顏色名稱

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

在這里插入圖片描述

總結(jié)

在這個帶有源代碼的 Python 項目中,我們學(xué)習(xí)了顏色以及如何提取像素的 RGB 值和顏色名稱。我們學(xué)習(xí)了如何處理雙擊窗口等事件,并看到了如何使用 pandas 讀取 CSV 文件并執(zhí)行數(shù)據(jù)操作。這在許多圖像編輯和繪圖應(yīng)用中都有所使用。

參考文獻(xiàn)

名稱鏈接
DataFlair Python Projectshttps://data-flair.training/blogs/python-projects/
Python Color Detection Projecthttps://data-flair.training/blogs/python-color-detection-project/
OpenCV Documentationhttps://docs.opencv.org/4.5.1/
Pandas Documentationhttps://pandas.pydata.org/pandas-docs/stable/
Python for Image Processinghttps://realpython.com/python-opencv-color-spaces/
What is Color Detection?https://www.geeksforgeeks.org/color-detection-python-opencv/
How to use argparse in Pythonhttps://docs.python.org/3/howto/argparse.html
A Simple Guide to Pandashttps://towardsdatascience.com/a-simple-guide-to-pandas-2ae0753f5218
Python Colors Datasethttps://github.com/codeifitech/colordetect/blob/master/colors.csv
Color Space Conversionhttps://www.tutorialspoint.com/opencv/opencv_color_spaces.htm
OpenCV 教程https://www.bilibili.com/video/BV18x41147d6/
Python 顏色檢測https://zhuanlan.zhihu.com/p/35647438
了解色彩空間https://www.runoob.com/python3/python3-tutorial.html
顏色檢測實戰(zhàn)http://blog.csdn.net/qq_33066040/article/details/78800004
Python 計算機(jī)視覺入門https://morvanzhou.github.io/tutorials/machine-learning/opencv/
用 OpenCV 構(gòu)建顏色檢測器https://medium.com/@billy.r---------/building-a-color-detector-with-opencv-3baf62e6fac9
http://www.risenshineclean.com/news/53592.html

相關(guān)文章:

  • 發(fā)放淘寶優(yōu)惠券的網(wǎng)站怎么做免費(fèi)seo推廣計劃
  • 山東電力建設(shè)第一工程公司網(wǎng)站怎么讓客戶主動找你
  • 網(wǎng)站推廣商品怎么做效果最好奇葩網(wǎng)站100個
  • 經(jīng)典網(wǎng)站案例國際新聞今天
  • seo網(wǎng)站結(jié)構(gòu)優(yōu)化seo排名查詢軟件
  • 公司網(wǎng)站設(shè)計案例其他搜索引擎
  • 建設(shè)銀行的網(wǎng)站是多少網(wǎng)絡(luò)營銷專業(yè)是學(xué)什么的
  • 網(wǎng)頁定做寧波 seo排名公司
  • 馀姚網(wǎng)站建設(shè)公司網(wǎng)站模版
  • 鄭州企業(yè)網(wǎng)站開發(fā)營銷軟文怎么寫
  • 企業(yè)網(wǎng)站建設(shè)公司鄭州什么樣的人適合做策劃
  • html5寫的網(wǎng)站有什么好處手機(jī)百度關(guān)鍵詞優(yōu)化
  • 用wordpress做音樂網(wǎng)站seo產(chǎn)品是什么意思
  • 廣州黃埔網(wǎng)站建設(shè)公司哪家好網(wǎng)頁制作教程書籍
  • 學(xué)做網(wǎng)站應(yīng)該看那些書廈門關(guān)鍵詞優(yōu)化seo
  • 深圳網(wǎng)站建設(shè)企濟(jì)南優(yōu)化seo公司
  • 做網(wǎng)站得多少錢幫平臺做推廣怎么賺錢
  • 獨立建設(shè)網(wǎng)站制作重慶鎮(zhèn)海seo整站優(yōu)化價格
  • php做網(wǎng)站用html做嗎百度網(wǎng)站名稱
  • 注冊網(wǎng)站亂填郵箱廣州搜索seo網(wǎng)站優(yōu)化
  • 企業(yè)網(wǎng)站 帶后臺聊城seo整站優(yōu)化報價
  • 威客做的好的網(wǎng)站蘇州網(wǎng)站建設(shè)公司排名
  • 外包建站的公司怎么做seo網(wǎng)站做優(yōu)化
  • 東莞制作公司網(wǎng)站的公司如何提升網(wǎng)站seo排名
  • 福建seo關(guān)鍵詞優(yōu)化外包新站seo優(yōu)化快速上排名
  • 網(wǎng)站后臺慢市場營銷在線課程
  • 建設(shè)財經(jīng)資訊網(wǎng)站的目的視頻營銷成功的案例
  • wordpress 406優(yōu)化人員配置
  • 阿里云做電腦網(wǎng)站佛山網(wǎng)站設(shè)計實力樂云seo
  • 自己制作二維碼的軟件seo服務(wù)公司招聘