最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Opencv識別圖片顏色并繪制輪廓實現(xiàn)代碼示例

 更新時間:2024年12月13日 10:43:34   作者:加德霍克  
這篇文章主要給大家介紹了關于Opencv識別圖片顏色并繪制輪廓實現(xiàn)的相關資料,實驗代碼和現(xiàn)象展示了如何從原始圖像中識別和突出顯示特定顏色區(qū)域,并通過圖像處理技術增強識別效果,需要的朋友可以參考下

一、實驗原理

1、顏色空間轉換:

Opencv識別圖片顏色的邏輯

OpenCV 的默認顏色空間為 BGR(藍、綠、紅),但識別特定顏色更適合在 HSV(色調、飽和度、亮度)顏色空間中進行。
HSV 優(yōu)勢:能夠更方便地描述顏色范圍,用于篩選特定顏色區(qū)域。

2、顏色范圍過濾:

不同顏色的HSV值

利用 cv2.inRange 函數(shù),通過設定的顏色范圍,將指定顏色區(qū)域提取為二值掩膜。

3、圖像處理:

①濾波:

通過中值濾波去除噪點,平滑圖像。濾波是應用卷積來實現(xiàn)的,卷積的關鍵就是卷積核,下圖為卷積核濾波原理:

②形態(tài)學變換:

通過開運算(先腐蝕后膨脹)進一步消除小噪聲和孤立點。

4、輪廓提取和繪制:

  • 利用 cv2.findContours 提取二值圖像的輪廓。

  • 根據(jù)輪廓面積進行過濾,保留符合條件的目標區(qū)域。
  • 使用 cv2.drawContours 在原圖上繪制輪廓。

cv2.drawContours(image, contours, contourIdx, color, thickness, lineType, hierarchy, maxLevel, offset)

二、實驗代碼

import cv2
import numpy as np

# 1. 輸入圖片并調整大小
img = cv2.imread("./color_1.png")
if img is None:
    print("無法加載圖片,請檢查路徑!")
    exit()
img = cv2.resize(img, (0, 0), fx=0.7, fy=0.7)

# 2. 轉換 HSV 顏色空間
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 3. 定義顏色范圍并生成二值掩膜
yellow_min = np.array([26, 43, 46])  # 黃色下界
yellow_max = np.array([34, 255, 255])  # 黃色上界
img_mask = cv2.inRange(img_hsv, yellow_min, yellow_max)

# 4. 中值濾波去噪
img_blur = cv2.medianBlur(img_mask, 7)

# 5. 形態(tài)學變換 - 開運算
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))
img_open = cv2.morphologyEx(img_blur, cv2.MORPH_OPEN, kernel)

# 6. 輪廓提取
contours, _ = cv2.findContours(img_open, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 7. 遍歷輪廓并繪制
img_result = img.copy()
for contour in contours:
    area = cv2.contourArea(contour)
    if area < 200 or area > 200000:  # 根據(jù)面積過濾無效輪廓
        continue
    cv2.drawContours(img_result, [contour], -1, (0, 0, 255), 2)  # 繪制輪廓

# 8. 顯示結果
cv2.imshow("Original Image", img)
cv2.imshow("Filtered Contours", img_result)

cv2.waitKey(0)
cv2.destroyAllWindows()

三、實驗現(xiàn)象

1、原始圖像:

顯示未處理的原始圖片,包含多個顏色區(qū)域。

2、顏色掩膜:

二值圖像僅顯示識別出的黃色區(qū)域,其余部分為黑色背景。

3、濾波和平滑:

  • 濾波后噪點減少,目標區(qū)域更加連續(xù)。
  • 開運算消除了孤立的噪聲點,保留了主要的目標區(qū)域。

4、輪廓繪制:

  • 符合面積條件的輪廓被成功繪制,輪廓線為紅色。
  • 無效的小輪廓被過濾,不影響結果的清晰度。

總結 

到此這篇關于Opencv識別圖片顏色并繪制輪廓實現(xiàn)的文章就介紹到這了,更多相關Opencv識別圖片顏色繪制輪廓內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python dataframe實現(xiàn)統(tǒng)計行列中零值的個數(shù)

    python dataframe實現(xiàn)統(tǒng)計行列中零值的個數(shù)

    這篇文章主要介紹了python dataframe實現(xiàn)統(tǒng)計行列中零值的個數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Django集成CAS單點登錄的方法示例

    Django集成CAS單點登錄的方法示例

    這篇文章主要介紹了Django集成CAS單點登錄的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 解決pandas無法讀取csv文件數(shù)據(jù)的問題

    解決pandas無法讀取csv文件數(shù)據(jù)的問題

    本文講述作者用Pandas讀取CSV文件時因參數(shù)設置不當導致數(shù)據(jù)錯位,通過調整delimiter和on_bad_lines參數(shù)最終解決問題,并強調正確參數(shù)配置對數(shù)據(jù)處理的重要性
    2025-07-07
  • python正則表達式最詳解

    python正則表達式最詳解

    篇文章主要介紹了Python中正則表達式的詳細解釋,正則表達式是Python學習進階當中的重要內容,需要的朋友可以參考下
    2021-11-11
  • Python 爬蟲學習筆記之單線程爬蟲

    Python 爬蟲學習筆記之單線程爬蟲

    本文給大家分享的是python使用requests爬蟲庫實現(xiàn)單線程爬蟲的代碼以及requests庫的安裝和使用,有需要的小伙伴可以參考下
    2016-09-09
  • python3射線法判斷點是否在多邊形內

    python3射線法判斷點是否在多邊形內

    這篇文章主要為大家詳細介紹了python3射線法判斷點是否在多邊形內,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 一文教你如何在Python中忽略煩人的警告

    一文教你如何在Python中忽略煩人的警告

    當你用 Python 寫代碼時,有時候會看到一些“警告”信息,這些信息不會讓代碼出錯,但會讓輸出看起來很亂,所以本文為大家整理了一些忽略警告的方法,希望對大家有所幫助
    2024-12-12
  • python重用父類功能的兩種方式實例詳解

    python重用父類功能的兩種方式實例詳解

    這篇文章主要介紹了python重用父類功能的兩種方式,方式一是跟繼承沒有關系的,而方式二的super()是依賴于繼承的,并且即使沒有直接繼承關系,super()仍然會按照MRO繼續(xù)往后查找,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Flask實現(xiàn)圖片的上傳、下載及展示示例代碼

    Flask實現(xiàn)圖片的上傳、下載及展示示例代碼

    這篇文章主要介紹了Flask實現(xiàn)圖片的上傳、下載及展示示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Python基于time模塊表示時間常用方法

    Python基于time模塊表示時間常用方法

    這篇文章主要介紹了Python基于time模塊表示時間常用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論

南澳县| 同仁县| 闻喜县| 酉阳| 蒲江县| 赣榆县| 郴州市| 宁陵县| 灵石县| 新干县| 菏泽市| 聊城市| 贵定县| 太谷县| 永吉县| 望奎县| 布拖县| 永寿县| 鄂托克前旗| 子洲县| 安塞县| 南充市| 竹溪县| 内黄县| 泸西县| 衡山县| 徐州市| 新河县| 司法| 土默特右旗| 福鼎市| 阳山县| 卓尼县| 赣榆县| 镇坪县| 滨州市| 黔东| 丰顺县| 勃利县| 长丰县| 白山市|