国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python+OpenCV圖像處理——實現輪廓發現

瀏覽:42日期:2022-07-07 11:28:13

簡介:輪廓發現是基于圖像邊緣提取的基礎尋找對象輪廓的方法,所以邊緣提取的閾值選定會影響最終輪廓發現結果。

代碼如下:

import cv2 as cvimport numpy as npdef contours_demo(image): dst = cv.GaussianBlur(image, (3, 3), 0) #高斯模糊去噪 gray = cv.cvtColor(dst, cv.COLOR_RGB2GRAY) ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU) #用大律法、全局自適應閾值方法進行圖像二值化 cv.imshow('binary image', binary) cloneTmage, contours, heriachy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE) for i, contour in enumerate(contours): cv.drawContours(image, contours, i, (0, 0, 255), 2) print(i) cv.imshow('contours', image) for i, contour in enumerate(contours): cv.drawContours(image, contours, i, (0, 0, 255), -1) cv.imshow('pcontours', image)src = cv.imread(’E:/imageload/coins.jpg’)cv.namedWindow(’input_image’, cv.WINDOW_NORMAL) #設置為WINDOW_NORMAL可以任意縮放cv.imshow(’input_image’, src)contours_demo(src)cv.waitKey(0)cv.destroyAllWindows()

運行結果:

Python+OpenCV圖像處理——實現輪廓發現

注意:

1.Opencv發現輪廓的函數原型為:findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> image, contours, hierarchy

image參數表示8位單通道圖像矩陣,可以是灰度圖,但更常用的是二值圖像,一般是經過Canny、拉普拉斯等邊緣檢測算子處理過的二值圖像。

mode參數表示輪廓檢索模式:

①CV_RETR_EXTERNAL:只檢測最外圍輪廓,包含在外圍輪廓內的內圍輪廓被忽略。

②CV_RETR_LIST:檢測所有的輪廓,包括內圍、外圍輪廓,但是檢測到的輪廓不建立等級關系,彼此之間獨立,沒有等級關系,這就意味著這個檢索模式下不存在父輪廓或內嵌輪廓。

③CV_RETR_CCOMP:檢測所有的輪廓,但所有輪廓只建立兩個等級關系,外圍為頂層,若外圍內的內圍輪廓還包含了其他的輪廓信息,則內圍內的所有輪廓均歸屬于頂層。

④CV_RETR_TREE:檢測所有輪廓,所有輪廓建立一個等級樹結構,外層輪廓包含內層輪廓,內層輪廓還可以繼續包含內嵌輪廓。

method參數表示輪廓的近似方法:

①CV_CHAIN_APPROX_NONE 存儲所有的輪廓點,相鄰的兩個點的像素位置差不超過1,即max (abs (x1 - x2), abs(y2 - y1) == 1。

②CV_CHAIN_APPROX_SIMPLE壓縮水平方向,垂直方向,對角線方向的元素,只保留該方向的終點坐標,例如一個矩形輪廓只需4個點來保存輪廓信息。

③CV_CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS使用teh-Chinl chain 近似算法。

contours參數是一個list,表示存儲的每個輪廓的點集合。

hierarchy參數是一個list,list中元素個數和輪廓個數相同,每個輪廓contours[i]對應4個hierarchy元素hierarchy[i][0] ~hierarchy[i][3],分別表示后一個輪廓、前一個輪廓、父輪廓、內嵌輪廓的索引編號,如果沒有對應項,則該值為負數。

offset參數表示每個輪廓點移動的可選偏移量。

2.Opencv繪制輪廓的函數原型為:drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset]]]]]) -> image

imgae參數表示目標圖像。

contours參數表示所有輸入輪廓。

contourIdx參數表示繪制輪廓list中的哪條輪廓, 如果是負數,則繪制所有輪廓。

color參數表示輪廓的顏色。

thickness參數表示繪制的輪廓線條粗細,如果是負數,則繪制輪廓內部。

lineType參數表示線型。

hierarchy參數表示有關層次結構的可選信息。

maxLevel參數表示繪制輪廓的最大級別。 如果為0,則僅繪制指定的輪廓。 如果為1,則該函數繪制輪廓和所有嵌套輪廓。 如果為2,則該函數繪制輪廓,所有嵌套輪廓,所有嵌套到嵌套的輪廓,等等。 僅當有可用的層次結構時才考慮此參數。

offset參數表示可選的輪廓偏移參數,該參數可按指定的方式移動所有繪制的輪廓。

以上就是Python+OpenCV圖像處理——實現輪廓發現的詳細內容,更多關于python 輪廓發現的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 美国美女一级毛片免费全 | 日韩亚洲欧美理论片 | 久久一本精品久久精品66 | 国产手机国产手机在线 | 看日本真人一一级特黄毛片 | 亚欧免费视频 | 久久男人天堂 | 欧美在线视频一区二区 | 成人午夜兔费观看网站 | free性丰满白嫩白嫩的hd | 看全色黄大色黄大片女图片 | 欧美在线一级视频 | 亚洲高清成人欧美动作片 | 在线精品日韩一区二区三区 | 在线观看国产精品一区 | 午夜日韩视频 | 免费网站看v片在线香蕉 | 国内精品七七久久影院 | 国产精品莉莉欧美自在线线 | 午夜67194| 欧美成人香蕉网在线观看 | 久久久久久久久久免费视频 | 国产毛片不卡 | 欧美激情精品久久久久久久九九九 | 国产成人精品免费视频软件 | 欧美一区二区三区不卡片 | 欧美一级视频在线观看欧美 | 免费欧美黄色 | 国产呦系列呦 | 亚洲网站免费看 | 大量真实偷拍情侣视频野战 | 国产欧美日韩精品高清二区综合区 | 深夜福利视频在线观看免费视频 | 欧美线在线精品观看视频 | 久久国产精品-国产精品 | 1024色淫免费视频 | 日本一二线不卡在线观看 | 全免费毛片在线播放 | 亚洲视频1区 | 亚洲成人免费网站 | 国产精品_国产精品_国产精品 |