欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Opencv任意形狀目標(biāo)檢測(cè)并繪制框圖

 更新時(shí)間:2019年07月23日 10:02:27   作者:xiaoxifei  
這篇文章主要為大家詳細(xì)介紹了Python Opencv任意形狀目標(biāo)檢測(cè),并繪制框圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

opencv 進(jìn)行任意形狀目標(biāo)識(shí)別,供大家參考,具體內(nèi)容如下

工作中有一次需要在簡(jiǎn)單的圖上進(jìn)行目標(biāo)識(shí)別,目標(biāo)的形狀不固定,并且存在一定程度上的噪聲影響,但是噪聲影響不確定。這是一個(gè)簡(jiǎn)單的事情,因?yàn)閳D像并不復(fù)雜,現(xiàn)在將代碼公布如下:

import cv2


def otsu_seg(img):

  ret_th, bin_img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)

  return ret_th, bin_img

def find_pole(bin_img):
  img, contours, hierarchy = cv2.findContours(bin_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
  area = 0
  for i in range(len(contours)):
    area += cv2.contourArea(contours[i])
  area_mean = area / len(contours)
  mark = []
  for i in range(len(contours)):
    if cv2.contourArea(contours[i]) < area_mean:
      mark.append(i)

  return img, contours, hierarchy, mark

def draw_box(img,contours):
  img = cv2.rectangle(img,
         (contours[0][0], contours[0][1]),
         (contours[1][0], contours[1][1]),
         (255,255,255),
         3)
  return img

def main(img):
  ret, th = otsu_seg(img)
  img_new, contours, hierarchy, mark = find_pole(th)
  for i in range(len(contours)):
    if i not in mark:
      left_point = contours[i].min(axis=1).min(axis=0)
      right_point = contours[i].max(axis=1).max(axis=0)
      img = draw_box(img, (left_point, right_point))
  return img


if __name__ =="__main__":
  img = cv2.imread('G:/test.png')
  img = main(img)
  cv2.imwrite('G:/test_d.png', img)

結(jié)果圖如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 零基礎(chǔ)寫(xiě)python爬蟲(chóng)之抓取百度貼吧代碼分享

    零基礎(chǔ)寫(xiě)python爬蟲(chóng)之抓取百度貼吧代碼分享

    前面幾篇都是以介紹基礎(chǔ)知識(shí)為主,各位童鞋估計(jì)都在犯嘀咕了,你到底寫(xiě)不寫(xiě)爬蟲(chóng)?。??額,好吧,本文就給大家寫(xiě)一個(gè)簡(jiǎn)單的百度貼吧的python爬蟲(chóng)代碼。
    2014-11-11
  • Python調(diào)用ffmpeg開(kāi)源視頻處理庫(kù),批量處理視頻

    Python調(diào)用ffmpeg開(kāi)源視頻處理庫(kù),批量處理視頻

    本文主要介紹了如何用Python調(diào)用ffmpeg開(kāi)源視頻處理庫(kù),來(lái)實(shí)現(xiàn)視頻批量的處理:水印、背景音樂(lè)、剪輯、合并、幀率、速率、分辨率等操作
    2020-11-11
  • Python爬蟲(chóng)基礎(chǔ)初探selenium

    Python爬蟲(chóng)基礎(chǔ)初探selenium

    selenium最初是一個(gè)自動(dòng)化測(cè)試工具,而爬蟲(chóng)中使用它主要是為了解決requests無(wú)法執(zhí)行javaScript代碼的問(wèn)題。本文給大家分享Python爬蟲(chóng)基礎(chǔ)selenium知識(shí),包括selenium工作原理,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • 用python實(shí)現(xiàn)的可以拷貝或剪切一個(gè)文件列表中的所有文件

    用python實(shí)現(xiàn)的可以拷貝或剪切一個(gè)文件列表中的所有文件

    python 實(shí)現(xiàn)剪切或是拷貝一個(gè)文件列表中的所有文件
    2009-04-04
  • Python中dtype、type()和astype()的區(qū)別詳解

    Python中dtype、type()和astype()的區(qū)別詳解

    這篇文章主要介紹了Python中dtype、type()和astype()的區(qū)別詳解,type()是python內(nèi)置的函數(shù),type()返回?cái)?shù)據(jù)結(jié)構(gòu)類型(list、dict、numpy.ndarray 等),需要的朋友可以參考下
    2023-08-08
  • Python面向?qū)ο笾^承和多態(tài)用法分析

    Python面向?qū)ο笾^承和多態(tài)用法分析

    這篇文章主要介紹了Python面向?qū)ο笾^承和多態(tài)用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承與多態(tài)的原理及相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Selenium關(guān)閉INFO:CONSOLE提示的解決

    Selenium關(guān)閉INFO:CONSOLE提示的解決

    這篇文章主要介紹了Selenium關(guān)閉INFO:CONSOLE提示的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python批量改變圖片名字的示例代碼

    Python批量改變圖片名字的示例代碼

    本文主要介紹了Python批量改變圖片名字的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • DataFrame里的replace替換方式

    DataFrame里的replace替換方式

    這篇文章主要介紹了DataFrame里的replace替換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 淺談Django REST Framework限速

    淺談Django REST Framework限速

    這篇文章主要介紹了淺談Django REST Framework限速,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12

最新評(píng)論