[学习笔记]使用vscode+opencv画图

1.安装opencv
windows10打开cmd敲入pip install opencv-python(等待下载完成后键入import cv2不报错代表下载成功)
2.在vscode中配置opencv
下载完后,opencv应该会被保存在python文件夹的Lib文件夹下面的site-packages文件夹中。打开site-packages找到一个叫做cv2的文件夹,复制其中的一个叫做带有cv2.cp37-win_amd64.pyd的文件,然后找到自己的python工作空间也就是自己新建的.py保存的文件夹下粘贴。同时在这个文件夹中创建一个XXX.py的文件里面输入代码

import os
import xml.dom.minidom
import cv2 as cv 
ImgPath = 'C:\\Users\\admin\\Desktop\\images\\'
AnnoPath = 'C:\\Users\\admin\\Desktop\\xmls\\' 
imagelist = os.listdir(ImgPath)
for image in imagelist:     
    image_pre, ext = os.path.splitext(image)    
    imgfile = ImgPath + image    
    xmlfile = AnnoPath + image_pre + '.xml'
    #打开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)    
    #得到标签名为object的信息    
    objectlist = collection.getElementsByTagName("object")     
    for objects in objectlist:        
        #每个object中得到子标签名为name的信息        
        namelist = objects.getElementsByTagName('name')       
        #通过此语句得到具体的某个name的值        
        objectname = namelist[0].childNodes[0].data         
        bndbox = objects.getElementsByTagName('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')            
            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), (0, 0, 255), thickness=2)            
            cv.imwrite(imgfile , img)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值