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

Python Opencv任意形狀目標檢測并繪制框圖

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

opencv 進行任意形狀目標識別,供大家參考,具體內容如下

工作中有一次需要在簡單的圖上進行目標識別,目標的形狀不固定,并且存在一定程度上的噪聲影響,但是噪聲影響不確定。這是一個簡單的事情,因為圖像并不復雜,現(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)

結果圖如下:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 零基礎寫python爬蟲之抓取百度貼吧代碼分享

    零基礎寫python爬蟲之抓取百度貼吧代碼分享

    前面幾篇都是以介紹基礎知識為主,各位童鞋估計都在犯嘀咕了,你到底寫不寫爬蟲啊??額,好吧,本文就給大家寫一個簡單的百度貼吧的python爬蟲代碼。
    2014-11-11
  • Python調用ffmpeg開源視頻處理庫,批量處理視頻

    Python調用ffmpeg開源視頻處理庫,批量處理視頻

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

    Python爬蟲基礎初探selenium

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

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

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

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

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

    Python面向對象之繼承和多態(tài)用法分析

    這篇文章主要介紹了Python面向對象之繼承和多態(tài)用法,結合實例形式分析了Python面向對象程序設計中繼承與多態(tài)的原理及相關操作技巧,需要的朋友可以參考下
    2019-06-06
  • Selenium關閉INFO:CONSOLE提示的解決

    Selenium關閉INFO:CONSOLE提示的解決

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

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

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

    DataFrame里的replace替換方式

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

    淺談Django REST Framework限速

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

最新評論