欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何使用python實(shí)現(xiàn)目標(biāo)檢測給圖畫框,bbox畫到圖上并保存案例-創(chuàng)新互聯(lián)

這篇文章主要介紹了如何使用python實(shí)現(xiàn)目標(biāo)檢測給圖畫框,bbox畫到圖上并保存案例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

澄海ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

代碼如下

import os
import xml.dom.minidom
import cv2 as cv
 
ImgPath = 'C:/Users/49691/Desktop/gangjin/gangjin_test/JPEGImages/'
AnnoPath = 'C:/Users/49691/Desktop/gangjin/gangjin_test/Annotations/' #xml文件地址
save_path = ''
def draw_anchor(ImgPath,AnnoPath,save_path):
  imagelist = os.listdir(ImgPath)
  for image in imagelist:
 
    image_pre, ext = os.path.splitext(image)
    imgfile = ImgPath + image
    xmlfile = AnnoPath + image_pre + '.xml'
    # print(image)
    # 打開xml文檔
    DOMTree = xml.dom.minidom.parse(xmlfile)
    # 得到文檔元素對象
    collection = DOMTree.documentElement
    # 讀取圖片
    img = cv.imread(imgfile)
 
    filenamelist = collection.getElementsByTagName("filename")
    filename = filenamelist[0].childNodes[0].data
    print(filename)
    # 得到標(biāo)簽名為object的信息
    objectlist = collection.getElementsByTagName("object")
 
    for objects in objectlist:
      # 每個object中得到子標(biāo)簽名為name的信息
      namelist = objects.getElementsByTagName('name')
      # 通過此語句得到具體的某個name的值
      objectname = namelist[0].childNodes[0].data
 
      bndbox = objects.getElementsByTagName('bndbox')
      # print(bndbox)
      for box in bndbox:
        x1_list = box.getElementsByTagName('xmin')
        x1 = int(x1_list[0].childNodes[0].data)
        y1_list = box.getElementsByTagName('ymin')
        y1 = int(y1_list[0].childNodes[0].data)
        x2_list = box.getElementsByTagName('xmax')  #注意坐標(biāo),看是否需要轉(zhuǎn)換
        x2 = int(x2_list[0].childNodes[0].data)
        y2_list = box.getElementsByTagName('ymax')
        y2 = int(y2_list[0].childNodes[0].data)
        cv.rectangle(img, (x1, y1), (x2, y2), (255, 255, 255), thickness=2)
        cv.putText(img, objectname, (x1, y1), cv.FONT_HERSHEY_COMPLEX, 0.7, (0, 255, 0),
              thickness=2)
        # cv.imshow('head', img)
        cv.imwrite(save_path+'/'+filename, img)  #save picture

補(bǔ)充知識:深度學(xué)習(xí)python之用Faster-rcnn 檢測結(jié)果(txt文件) 在原圖畫出box

使用Faster-rcnn 的test_net.py 檢測網(wǎng)絡(luò)的mAP等精度會生成一個檢測結(jié)果(txt文件),格式如下:

000004 0.972 302.8 94.5 512.0 150.0
000004 0.950 348.1 166.1 512.0 242.9
000004 0.875 1.0 25.7 292.6 126.3
000004 0.730 1.0 138.5 488.3 230.0
000004 0.699 1.0 120.9 145.5 139.9
000004 0.592 54.4 227.4 431.9 343.4
000004 0.588 1.0 159.8 18.8 231.6
000004 0.126 1.0 247.1 342.3 270.0
000004 0.120 1.0 225.4 185.7 309.3

每行分別為 名稱 檢測概率 xmin ymin xmax ymax

問題在于每一行只顯示一個box數(shù)據(jù),每幅圖像可能包括多個box,需要判斷提取的多行數(shù)據(jù)是不是屬于同一圖片

下面使用python提取這些數(shù)據(jù),在原圖上畫出box并且保存起來

import os
import os.path
import numpy as np
import xml.etree.ElementTree as xmlET
from PIL import Image, ImageDraw
import cPickle as pickle 

txt_name = 'comp4_8a226fd7-753d-40fc-8013-f68d2a465579_det_test_ship.txt'
file_path_img = '/home/JPEGImages'
save_file_path = '/home/detect_results'


source_file = open(txt_name)

img_names = []
for line in source_file:
  staff = line.split()
  img_name = staff[0]
  img_names.append(img_name)

name_dict = {}
for i in img_names:
  if img_names.count(i)>0:
    name_dict[i] = img_names.count(i) 

source_file.close()

source_file = open(txt_name)
for idx in name_dict:
  img = Image.open(os.path.join(file_path_img, idx + '.jpg')) 
  draw = ImageDraw.Draw(img)
  for i in xrange(name_dict[idx]):
    line = source_file.readline()
    staff = line.split()
    score = staff[1]
    box = staff[2:6]
    draw.rectangle([int(np.round(float(box[0]))), int(np.round(float(box[1]))), 
          int(np.round(float(box[2]))), int(np.round(float(box[3])))], outline=(255, 0, 0))
  img.save(os.path.join(save_file_path, idx + '.jpg')) 

source_file.close()

運(yùn)行完即可在保存文件夾中得到效果圖。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用python實(shí)現(xiàn)目標(biāo)檢測給圖畫框,bbox畫到圖上并保存案例”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

新聞標(biāo)題:如何使用python實(shí)現(xiàn)目標(biāo)檢測給圖畫框,bbox畫到圖上并保存案例-創(chuàng)新互聯(lián)
分享URL:http://aaarwkj.com/article12/ccpsdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)ChatGPT、網(wǎng)站設(shè)計(jì)品牌網(wǎng)站制作、網(wǎng)站排名、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
欧美精品福利一区二区| 国产一区二区主播不卡| 日本在线中文字幕乱码| 日本在线免费观看91| 国产乱国产乱老熟部视频| 深夜毛片一区二区三区| 少妇午夜福利一区二区| 国产精品三级av在线播放| 日韩精品一二三黄色一级| 丰满人妻中出av在线| 亚洲巨人精品福利导航| 亚洲欧美日韩另类精品一区二区三区 | 国产精品一区二区污网站| 亚洲精品91在线中文字幕| 成年人在线观看免费观看| 午夜福利院在线观看免费| 一区二区三区乱码国产| 亚洲青青草原一区二区| 激情内射日本一区二区三区| 国产免费久久黄av片| 欧美精品福利一区二区| 久久精品欧美日韩视频| 欧美国产日韩激情在线| 午夜少妇诱惑一区二区三区| 蜜臀91精品视频在线观看| 亚洲中文字幕少妇熟女美妇| 欧美午夜视频一区二区福利| 国产三级视频在线观看视频| 在线日韩欧美一区二区三区| 欧美日韩亚洲国产精品视频| 国产美女被狂操到高潮| 亚洲国产第一尤物视频| 亚洲少妇插进去综合网| 亚洲国产成在人网站天堂| 国产原创av剧情六区| 性生活视性生活大片日本| 欧美一区二区三区一级| 国产精品99久久久久久| 国产美女主播在线精品一区| 中文字幕伦理一区二区三区| 欧美黄片在线播放视频|