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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opencv学习笔记20:图像轮廓

發(fā)布時間:2024/9/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv学习笔记20:图像轮廓 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

圖像輪廓

Contours:輪廓
輪廓是將沒有連著一起的邊緣連著一起。
邊緣檢測檢測出邊緣,邊緣有些未連接在一起。

注意問題
1.對象為二值圖像,首先進(jìn)行閾值分割或者邊緣檢測。
2.查找輪廓需要更改原始圖像,通常使用原始圖像的一份進(jìn)行拷貝。
3.在opencv里,是從黑色背景里找白色。因此對象必須是白色,背景為黑色。

方法

cv2.findContours()
cv2.drawContours()
通過cv2.findContours() 查找輪廓在哪里,再通過 cv2.drawContours()將查找的輪廓繪制出來。

contours,hierarchy=cv2.findContours(image,mode,method)
contours:輪廓
hierarchy:圖像的拓?fù)湫畔?#xff08;輪廓層次)(存儲上一個輪廓,父輪廓…)
image:原始圖像
mode:輪廓檢索方式
method:輪廓的近似方法

r=cv2.drawContours(image, contours, contourIdx, color[, thickness])
r:目標(biāo)圖像
image:原始圖像
contours: 所有的輸入輪廓邊緣數(shù)組
contourIdx :需要繪制的邊緣索引,如果全部繪制為-1。如果有多個目標(biāo),可以繪制第一個目標(biāo)0,第二個目標(biāo)1,第三個目標(biāo)2.。。
color:繪制的顏色,為BGR格式的SCalar
thickness:可選,繪制的密度,即輪廓的畫筆粗細(xì)

import cv2 import numpy as np o = cv2.imread('lena256.bmp') gray = cv2.cvtColor(o,cv2.COLOR_BGR2GRAY)#BGR-灰度 ret, binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY)#二值圖像 contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) co=o.copy()#對原始圖像進(jìn)行繪制 r=cv2.drawContours(co,contours,-1,(0,127,127),4)#co為復(fù)制圖像,輪廓會修改原始圖像 cv2.imshow("original",o) cv2.imshow("contours",r) cv2.waitKey()

cv2.cvtColor(input_image, flag)用于顏色空間轉(zhuǎn)換。
input_image:需要轉(zhuǎn)換的圖像
flag:轉(zhuǎn)換類型
cv2.COLOR_BGR2GRAY : BGR -灰度
cv2.COLOR_BGR2RGB:BGR-RGB
cv2.COLOR_BGR2HSV:BGR-HSV
總目錄鏈接:
python3+opencv學(xué)習(xí)筆記匯總目錄(適合基礎(chǔ)入門學(xué)習(xí))

進(jìn)階版圖像輪廓應(yīng)用:
opencv進(jìn)階學(xué)習(xí)筆記12:輪廓發(fā)現(xiàn)和對象測量

電氣專業(yè)的計算機(jī)小白,寫博文不容易。如果你對本文感興趣。請點(diǎn)個贊支持下,謝謝。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的opencv学习笔记20:图像轮廓的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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