日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python+Opencv根据颜色进行目标检测

發(fā)布時(shí)間:2023/12/15 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python+Opencv根据颜色进行目标检测 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

    • 一、什么是顏色目標(biāo)檢測(cè)?
    • 二、如何實(shí)現(xiàn)基于顏色的目標(biāo)檢測(cè)?
    • 三、算法代碼實(shí)現(xiàn)
    • 四、算法運(yùn)行流程
    • 五、效果展示與分析
    • 六、思維擴(kuò)展
    • 參考資料
    • 注意事項(xiàng)

一、什么是顏色目標(biāo)檢測(cè)?

??所謂的顏色目標(biāo)檢測(cè),即根據(jù)物體的顏色來(lái)快速的進(jìn)行目標(biāo)定位,該算法的思路比較簡(jiǎn)單,但是卻有很大的使用價(jià)值。

二、如何實(shí)現(xiàn)基于顏色的目標(biāo)檢測(cè)?

??整個(gè)算法的實(shí)現(xiàn)步驟比較簡(jiǎn)單,具體的步驟如下所示:

  • 步驟1-根據(jù)圖片中的目標(biāo)設(shè)定合適的lower和upper閾值
  • 步驟2-使用cv2.inRange(img,lower, upper)函數(shù)來(lái)進(jìn)行閾值化操作,其中l(wèi)ower和upper就是我們所設(shè)定的閾值;
  • 步驟3-使用cv2.bitwise_and()函數(shù)進(jìn)行與操作,即選擇出合適的目標(biāo);

三、算法代碼實(shí)現(xiàn)

# coding=utf-8 # 導(dǎo)入python包 import numpy as np import argparse import imageio import cv2# 設(shè)置并解析參數(shù) ap = argparse.ArgumentParser() ap.add_argument("-i", "--image", help = "path to the image") args = vars(ap.parse_args())# 讀取圖片 image = cv2.imread(args["image"]) # 定義邊界列表 (lower[r, g, b], upper[r, g, b]) boundaries = [ ([17, 15, 100], [50, 56, 200]), ([86, 31, 4], [220, 88, 50]), ([25, 146, 190], [62, 174, 250]), ([103, 86, 65], [145, 133, 128])] img_mask = [] # 循環(huán)遍歷所有的邊界 for (lower, upper) in boundaries: # 創(chuàng)建上邊界和下邊界 lower = np.array(lower, dtype = "uint8") upper = np.array(upper, dtype = "uint8")# 在指定邊界內(nèi)查找顏色并應(yīng)用掩碼 mask = cv2.inRange(image, lower, upper) # 進(jìn)行與操作 output = cv2.bitwise_and(image, image, mask = mask); img_mask.append(output)# 顯示結(jié)果 cv2.imshow("images", np.hstack([image, output])) cv2.waitKey(0) imageio.mimsave("mask.gif", img_mask)

四、算法運(yùn)行流程

  • 打開(kāi)一個(gè)cmd界面或者打開(kāi)其它的工具;
  • cd /d xxx 切換到代碼路徑,xxx表示代碼的具體路徑;
  • python detect_color.py -i img1.png 執(zhí)行代碼;
  • 依次按下Enter鍵來(lái)觀察結(jié)果。
  • 五、效果展示與分析

    ??下圖展示的是算法的輸出結(jié)果,算法迭代著依次輸出紅色、藍(lán)色、黃色和灰色的目標(biāo),滿足了我們預(yù)期的要求。

    六、思維擴(kuò)展

    ??該算法的思路和實(shí)現(xiàn)都很簡(jiǎn)單,效果也不錯(cuò),不足之處是我們需要根據(jù)目標(biāo)提前設(shè)置相應(yīng)的lower和upper參數(shù)值,而這兩個(gè)值嚴(yán)重的影響著該算法的性能,那么我們可不可以應(yīng)用一種自動(dòng)的方法來(lái)獲得這兩個(gè)值呢,使得整個(gè)算法變成全自動(dòng)化的,這個(gè)問(wèn)題留給大家自己去思考!!!

    參考資料

    [1] 參考鏈接-參考鏈接

    注意事項(xiàng)

    [1] 該博客是本人原創(chuàng)博客,如果您對(duì)該博客感興趣,想要轉(zhuǎn)載該博客,請(qǐng)與我聯(lián)系(qq郵箱:1575262785@qq.com),我會(huì)在第一時(shí)間回復(fù)大家,謝謝大家的關(guān)注.
    [2] 由于個(gè)人能力有限,該博客可能存在很多的問(wèn)題,希望大家能夠提出改進(jìn)意見(jiàn)。
    [3] 如果您在閱讀本博客時(shí)遇到不理解的地方,希望您可以聯(lián)系我,我會(huì)及時(shí)的回復(fù)您,和您交流想法和意見(jiàn),謝謝。
    [4] 本文測(cè)試的圖片可以通過(guò)該鏈接進(jìn)行下載。代碼鏈接- 提取碼:3orz。
    [5] 本人業(yè)余時(shí)間承接各種本科畢設(shè)設(shè)計(jì)和各種小項(xiàng)目,包括圖像處理(數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等)、matlab仿真、python算法及仿真等,有需要的請(qǐng)加QQ:1575262785詳聊!!!

    總結(jié)

    以上是生活随笔為你收集整理的Python+Opencv根据颜色进行目标检测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。