如何利用python读取你txt文档得到你想要的信息

在平时的学习和生活中总会把一些基本处理的结果放到txt文档里,如下图所示:如何利用python读取你txt文档得到你想要的信息_第1张图片

比如前面的是路径,后面的是对应图像的定位。如何一一对应把图像批处理呢?

如下代码:

import os
import matplotlib.pyplot as plt
import pylab
import matplotlib.patches as patches  %这几个import是我做中间过程用到的
from scipy import misc
import cv2
import numpy as np
f=open(r"/media/bigvision/Data/HXD_DR/DR_53576_cutblack_pingheng/train/train/1_quzheng.txt","r")  #打开你自己的路径
line=f.readline()       #按行读取
while line:
    list1=line.split()[0]  #picture path,用split()函数可以把字符串按空格or Tab自动分开,具体可以去查
    pic_path=line[70:].split()[0]       #主要得到文件名,可以写死也可以不写死
    img=cv2.imread(list1)
 #   input()
    x1=int(line.split()[1])
    y1=int(line.split()[2]) #(x1,y1) is left_top location
    x2=int(line.split()[3])
    y2=int(line.split()[4]) #(x2,y2)is right_down location   #分别存储2个坐标值,存入列表
    img[y1:y2,x1:x2,:]=np.zeros((y2-y1,x2-x1,3))      #坐标范围内的处理,我做的是ROI区域像素置0.
    cv2.imwrite('/media/bigvision/Data/HXD_DR/DR_53576_cutblack_pingheng/train/train/1_cutshipan/' + pic_path,img) # pic_path.png'
#    print pic_path
    line=f.readline()         #读取下一行
f.close()
由于是新手,在坐标范围内处理的时候置0没用用np.zeros(),导致耽误不少时间,其次对于三通道图像,一定要有通道参数,否则会报错

你可能感兴趣的:(python基本操作)