校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python基于opencv的簡單圖像輪廓形狀識別(全網最簡單最少代碼)

Python基于opencv的簡單圖像輪廓形狀識別(全網最簡單最少代碼)

熱門標簽:甘肅高頻外呼系統 江門智能電話機器人 地圖標注可以遠程操作嗎 400電話在線如何申請 如何申請400電話代理 智能電話機器人調研 杭州房產地圖標注 滴滴地圖標注公司 天津塘沽區地圖標注

可以直接跳到最后整體代碼看一看是不是很少的代碼?。。?!

思路:
1. 數據的整合
2. 圖片的灰度轉化
3. 圖片的二值轉化
4. 圖片的輪廓識別
5. 得到圖片的頂點數
6. 依據頂點數判斷圖像形狀

一、原數據的展示


圖片文件共36個文件夾,每個文件夾有100張圖片,共3600張圖片。


每一個文件夾里都有形同此類的圖形

二、數據的整合

對于多個文件夾,分析起來很不方便,所有決定將其都放在一個文件夾下進行分析,在python中具體實現如下:
本次需要的包

import cv2
import os
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
a=os.listdir('C:\\Users\\dell\\Desktop\\OpenCVProofSet')#循環讀取每個子文件夾
for i in range(len(a)):
 	b=os.listdir('C:\\Users\\dell\\Desktop\\OpenCVProofSet\\'+a[i])#讀取每個子文件下的圖片文件
 for j in range(len(b)):
  c=Image.open('C:\\Users\\dell\\Desktop\\OpenCVProofSet\\'+a[i]+'\\'+b[j])#循環讀取每個圖片文件
  c.save('C:\\Users\\dell\\Desktop\\cleardata\\'+str(i)+'_'+str(j)+'.png')#以文件夾序號和圖片序號為名保存在一個興建文件夾下

結果如下:

三、圖片輪廓的確定

3.1圖片的灰度處理

以下以一張圖片為例子作為說明
對于灰度的處理,選擇使用opencv的cv2.cvtColor函數,代碼示例如下:

d=os.listdir('C:\\Users\\dell\\Desktop\\cleardata\\')#文件路徑
e=cv2.imread('C:\\Users\\dell\\Desktop\\cleardata\\'+d[5])#以矩陣的形式圖片讀入
plt.imshow(e)#畫出示例圖


進行灰度的轉化:

g=cv2.cvtColor(e,cv2.COLOR_BGR2GRAY)##灰度轉化

3.2圖片的二值轉化

對于圖片的二值轉化這里選用cv2.threshold函數,代碼示例如下:

r,b=cv2.threshold(g,0,255,cv2.THRESH_OTSU)#二值轉化,大于0的像素統一設置為255,小于等于0的統一設置為0

上述代碼的第一個參數為灰度圖形,第二個參數是閾值,即大于0的像素點轉化為255,然后選用的THRESH_OTSU方法,具體說明如下:
通常情況,我們一般不知道設定怎樣的閾值thresh才能得到比較好的二值化效果,只能去試。如對于一幅雙峰圖像(理解為圖像直方圖中存在兩個峰),我們指定的閾值應盡量在兩個峰之間的峰谷。這時,就可以用第四個參數THRESH_OTSU,它對一幅雙峰圖像自動根據其直方圖計算出合適的閾值(對于非雙峰圖,這種方法得到的結果可能不理想)。
對于雙峰圖,我們需要多傳入一個參數cv2.THRESH_OTSU,并且把閾值thresh設為0,算法會找到最優閾值,并作為第一個返回值ret返回。

其中會返回兩個值,第二個值就是二值化后的圖形矩陣。

3.3輪廓的尋找

在輪廓的尋找方面,采用cv2.findContours方式。代碼示例如下:

cr,t=cv2.findContours(b, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)##找到邊界,第一個參數是二值圖像,第二個參數是獲取輪廓的方式,
#第三個參數定義輪廓的近似方式

上述函數里的參數中,第一個參數是二值化后的矩陣,第二個參數是獲取輪廓的方式,第三個參數是定義輪廓的近似方式。后面兩個參數的具體解釋如下:


上面得到的結果中第一個結果是輪廓點的集合。

畫出邊界輪廓,運用函數是cv2.drawContours,代碼示例如下:

plt.imshow(cv2.drawContours(e,cr,-1,50))#畫出邊界,可以看出有坐標軸和五角星兩個邊界,第一個參數是原圖,第二個參數是邊界,
#第三個參數代表畫出所有邊界,第四個參數是線的粗細

上述函數中第一個參數是原始圖形,第二個參數是得到的輪廓點的集合,第三個參數是代表畫出所有輪廓點,第四個參數是線的粗細。

得到結果如下:


可以發現,坐標軸的輪廓和五角星的輪廓都被畫了出來。

3.4輪廓的逼近,得到頂點

在得到輪廓點后,需要得到輪廓的頂點,通過頂點得到具體什么圖形,在輪廓逼近中用到兩個函數:cv2.arcLength,cv2.approxPolyDP,代碼示例如下:

ep = 0.01*cv2.arcLength(cr[1], True)#五角星輪廓的周長cr[0]是坐標軸的周長,然后將其縮小,作為下一步的閾值
ap = cv2.approxPolyDP(cr[1], ep, True)#輪廓的轉折點的近似點

cv2.arcLength得到的是輪廓點形成的曲線圍成的圖形的周長,cr[1]代表里層五角星的輪廓點,因為cr里有兩個輪廓集合,一個是外層的坐標軸的輪廓點集合,一個是里層五角星的輪廓點集合。True代表閉合的曲線。將其取1%作為下一個函數的閾值。

cv2.approxPolyDP將其得到的輪廓點進行篩選(按設定的閾值與其真實的線進行比較),其篩選的標準就是上一個函數得到的1%的周長,大于這個值的點舍去,小于這個值的點保留,True依然代表閉合曲線。

通過以上的步驟就可以保留一些點,而這些點就是得到頂點(這點需要讀者去想一想,為什么以1%周長為閾值得到的點就是頂點,作者認為是兩條線的拐點相對于來說是里真實線最近的點)
頂點數:

len(ap)#可以看見五角星有10個點

四、依據頂點判斷形狀

根據得到的定點數就可判斷出形狀了,三個頂點就是三角形,四個就是矩形,十個就是五角星,十個以上就是圓形了;上述的完整代碼如下:

import cv2
import os
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
d=os.listdir('C:\\Users\\dell\\Desktop\\cleardata\\')
for i in range(len(d)):
 e=cv2.imread('C:\\Users\\dell\\Desktop\\cleardata\\'+d[i])
 g=cv2.cvtColor(e,cv2.COLOR_BGR2GRAY)
 r,b=cv2.threshold(g,0,255,cv2.THRESH_OTSU)
 cr,t=cv2.findContours(b, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
 ep = 0.01*cv2.arcLength(cr[1], True)
 ap = cv2.approxPolyDP(cr[1], ep, True)
 co=len(ap)
 if co==3:
  st='三角形'
 elif co==4:
  st='矩形'
 elif co==10:
  st='五角星'
 else:
  st='圓'  
 plt.imsave('C:\\Users\\dell\\Desktop\\形狀\\'+st+str(e[100][100])+str(i)+'.jpg',e)#取圖像中間的點的RGB作為顏色代表

這里我還取了圖形的中點,希望得到圖片的顏色,其得到的是RGB值,通過RGB值就可以得到顏色。
最終結果如下:




到此這篇關于基于opencv的簡單圖像輪廓形狀識別(全網最簡單最少代碼)的文章就介紹到這了,更多相關opencv 圖像輪廓形狀識別內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • OpenCV圖像輪廓的繪制方法
  • python 基于opencv 繪制圖像輪廓
  • opencv 圖像輪廓的實現示例
  • opencv python 圖像輪廓/檢測輪廓/繪制輪廓的方法
  • Python Opencv實現圖像輪廓識別功能
  • OpenCV半小時掌握基本操作之圖像輪廓

標簽:臨汾 東莞 廊坊 長春 河池 德宏 重慶 漢中

巨人網絡通訊聲明:本文標題《Python基于opencv的簡單圖像輪廓形狀識別(全網最簡單最少代碼)》,本文關鍵詞  Python,基于,opencv,的,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python基于opencv的簡單圖像輪廓形狀識別(全網最簡單最少代碼)》相關的同類信息!
  • 本頁收集關于Python基于opencv的簡單圖像輪廓形狀識別(全網最簡單最少代碼)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    丰满放荡岳乱妇91ww| 亚洲一区二区三区在线看| 欧美日韩三级一区二区| caoporen国产精品视频| 国产91精品久久久久久久网曝门| 午夜精品久久久久久久久久| 亚洲国产一区二区视频| 丝袜美腿一区二区三区| 天堂一区二区在线免费观看| 老司机午夜精品| 国产一区二区美女| 成人午夜电影网站| 99精品视频一区| 欧美日韩国产一区| 欧美精品一区二区三区高清aⅴ| 久久亚洲精品小早川怜子| 欧美高清在线精品一区| 亚洲丝袜另类动漫二区| 婷婷国产在线综合| 国产一区二区三区四区五区美女 | 国产精品污污网站在线观看| 国产人伦精品一区二区| 亚洲视频在线一区二区| 亚洲综合免费观看高清完整版| 日日骚欧美日韩| 高清日韩电视剧大全免费| 色av一区二区| 日韩一级二级三级| 国产精品婷婷午夜在线观看| 亚洲一级二级三级| 国精品**一区二区三区在线蜜桃| 成人av影院在线| 日韩一区二区精品在线观看| 亚洲国产岛国毛片在线| 亚洲成人自拍网| 国产高清在线观看免费不卡| 色激情天天射综合网| 精品国产免费一区二区三区四区| 中文字幕五月欧美| 久久爱www久久做| 色偷偷一区二区三区| 欧美一二三四在线| 一区二区在线观看免费视频播放 | 国产精品视频线看| 性欧美大战久久久久久久久| 成人国产精品视频| 日韩欧美国产系列| 亚洲午夜免费视频| 91在线一区二区| 国产午夜亚洲精品午夜鲁丝片| 亚洲成人动漫av| 91偷拍与自偷拍精品| 久久精品欧美日韩| 青青草精品视频| 欧美日韩中文一区| 亚洲黄色尤物视频| 成人av免费在线播放| 久久夜色精品国产噜噜av| 日产国产欧美视频一区精品| 欧美综合一区二区| 亚洲精品中文在线影院| 成人精品亚洲人成在线| www国产精品av| 久久草av在线| 精品国产精品一区二区夜夜嗨| 亚洲高清不卡在线| 欧美性色黄大片| 一区二区三区四区不卡在线| 不卡高清视频专区| 日韩片之四级片| 日本一区中文字幕| 在线不卡欧美精品一区二区三区| 亚洲一区二区三区美女| 在线观看不卡视频| 性欧美疯狂xxxxbbbb| 欧美精品在线观看播放| 午夜私人影院久久久久| 欧美午夜免费电影| 视频一区二区三区在线| 欧美日韩一二三| 日本aⅴ精品一区二区三区| 日韩欧美在线综合网| 精品一区二区在线免费观看| 欧美xxxxx裸体时装秀| 国产美女一区二区| 日本一区二区动态图| 97久久人人超碰| 亚洲午夜免费视频| 91精品国产高清一区二区三区 | 欧美大白屁股肥臀xxxxxx| 喷水一区二区三区| 久久婷婷国产综合精品青草| 国产一区二区三区在线观看精品| 久久精品在线免费观看| 99久久伊人网影院| 亚洲成人先锋电影| 欧美精品一区二区三区蜜桃 | 在线一区二区三区| 丝袜脚交一区二区| 国产欧美日韩视频在线观看| 色综合久久天天| 青青草原综合久久大伊人精品| 久久久久国产精品人| 91官网在线观看| 麻豆精品在线看| 中文字幕一区二区三区视频| 欧美狂野另类xxxxoooo| 国产一区二区三区精品欧美日韩一区二区三区 | 色一区在线观看| 视频一区在线播放| 国产精品美女久久久久aⅴ国产馆| 欧洲一区二区三区免费视频| 蜜乳av一区二区三区| 亚洲精选免费视频| 久久综合九色综合97婷婷女人| 91伊人久久大香线蕉| 免费看黄色91| 亚洲一区二区三区影院| 欧美国产97人人爽人人喊| 欧美一区三区四区| 日本道色综合久久| 国产乱人伦偷精品视频免下载| 一区二区高清在线| 国产欧美精品区一区二区三区| 欧美区一区二区三区| 色综合一区二区| 国产·精品毛片| 青青草一区二区三区| 一个色综合网站| 日韩美女久久久| 久久日韩粉嫩一区二区三区| 欧美日韩精品一区二区在线播放| 国产成人超碰人人澡人人澡| 日本欧美在线观看| 亚洲va中文字幕| 亚洲精品成人精品456| 国产精品福利影院| 国产拍欧美日韩视频二区| 久久综合成人精品亚洲另类欧美 | 中文字幕第一页久久| 精品久久久久久久人人人人传媒 | 不卡大黄网站免费看| 狠狠久久亚洲欧美| 久久66热re国产| 久久99精品久久久久久| 肉肉av福利一精品导航| 婷婷中文字幕综合| 午夜免费欧美电影| 午夜视频在线观看一区| 日本不卡不码高清免费观看| 日韩黄色小视频| 蜜臀av性久久久久蜜臀av麻豆| 天堂成人国产精品一区| 青草av.久久免费一区| 久久成人18免费观看| 国产揄拍国内精品对白| 国产不卡视频一区| 99久久99久久久精品齐齐| 91视频免费播放| 精品视频色一区| 91精品国产欧美一区二区18| 欧美一区二区黄| 日韩欧美www| 欧美激情一区二区三区在线| 国产精品灌醉下药二区| 亚洲综合在线电影| 天堂久久一区二区三区| 国产在线看一区| 国产电影精品久久禁18| av中文字幕一区| 欧美日韩国产色站一区二区三区| 欧美福利一区二区| 久久蜜桃香蕉精品一区二区三区| 国产日韩欧美精品在线| 国产精品国产三级国产| 午夜精品久久久久久久久久久| 寂寞少妇一区二区三区| 成人午夜碰碰视频| 欧美日韩一区二区不卡| 精品国产青草久久久久福利| 中文字幕在线视频一区| 天堂成人国产精品一区| 粉嫩av一区二区三区在线播放| 91年精品国产| 欧美白人最猛性xxxxx69交| 国产精品久久久久一区二区三区| 亚洲一区欧美一区| 国产一区91精品张津瑜| 在线观看日产精品| 久久久无码精品亚洲日韩按摩| 亚洲一区二区三区美女| 国产成人在线视频网址| 欧美一区二区视频在线观看| 国产日韩欧美不卡| 日本中文一区二区三区| 成人综合婷婷国产精品久久蜜臀| 3751色影院一区二区三区| 欧美国产精品一区二区三区| 蜜臀va亚洲va欧美va天堂 | 亚洲国产精品麻豆|