新聞中心
在Python中,我們可以使用OpenCV庫來圈出圖像的輪廓,OpenCV是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,它包含了很多用于處理圖像和視頻的函數(shù),以下是如何在Python中使用OpenCV圈出圖像輪廓的詳細(xì)步驟:

十載的向陽網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整向陽建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“向陽網(wǎng)站設(shè)計(jì)”,“向陽網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1、安裝OpenCV庫
我們需要安裝OpenCV庫,可以使用以下命令安裝:
pip install opencvpython
2、導(dǎo)入所需庫
接下來,我們需要導(dǎo)入所需的庫,我們將使用cv2(OpenCV的Python接口)和numpy庫。
import cv2 import numpy as np
3、讀取圖像
使用cv2.imread()函數(shù)讀取圖像,這將返回一個(gè)表示圖像像素值的NumPy數(shù)組。
image = cv2.imread('input_image.jpg')
4、轉(zhuǎn)換為灰度圖像
為了更容易地找到輪廓,我們可以將圖像轉(zhuǎn)換為灰度圖像,這可以通過cv2.cvtColor()函數(shù)實(shí)現(xiàn)。
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
5、使用Canny邊緣檢測
Canny邊緣檢測是一種用于檢測圖像中邊緣的算法,它可以幫助我們找到圖像中的輪廓,使用cv2.Canny()函數(shù)進(jìn)行邊緣檢測。
edges = cv2.Canny(gray_image, threshold1=30, threshold2=100)
6、查找輪廓
使用cv2.findContours()函數(shù)查找圖像中的輪廓,這個(gè)函數(shù)會(huì)返回一個(gè)包含輪廓坐標(biāo)的列表,我們還可以使用cv2.RETR_EXTERNAL標(biāo)志來只查找最外層的輪廓。
contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
7、繪制輪廓
使用cv2.drawContours()函數(shù)在原始圖像上繪制輪廓,我們可以選擇不同的顏色、線寬等參數(shù)來自定義輪廓的外觀。
cv2.drawContours(image, contours, 1, (0, 255, 0), 2)
8、顯示和保存結(jié)果
我們可以使用cv2.imshow()函數(shù)顯示帶有輪廓的圖像,并使用cv2.imwrite()函數(shù)保存結(jié)果。
cv2.imshow('Contours', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('output_image_with_contours.jpg', image)
將以上代碼整合到一起,完整的Python程序如下:
import cv2
import numpy as np
讀取圖像
image = cv2.imread('input_image.jpg')
轉(zhuǎn)換為灰度圖像
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
使用Canny邊緣檢測
edges = cv2.Canny(gray_image, threshold1=30, threshold2=100)
查找輪廓
contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
繪制輪廓
cv2.drawContours(image, contours, 1, (0, 255, 0), 2)
顯示和保存結(jié)果
cv2.imshow('Contours', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('output_image_with_contours.jpg', image)
運(yùn)行此程序后,你將看到一個(gè)帶有輪廓的圖像窗口,按任意鍵關(guān)閉窗口后,程序?qū)⒃诋?dāng)前目錄下生成一個(gè)名為output_image_with_contours.jpg的文件,其中包含帶有輪廓的圖像。
分享名稱:python如何在圈出輪廓
文章出自:http://m.fisionsoft.com.cn/article/ccchsig.html


咨詢
建站咨詢
