将一个文件夹下面的图像和对应的pts读进来,然后把pts文件里面的数据读入一个数组,然后画到图像上:

# -*- coding:utf- -*-

"""

测试数据样例

"""
import os
import cv2 list_dir = [
"/Users/anitafang/Downloads/Datasets/jiaozheng/2017sdm/SDM/001/",
"/Users/anitafang/Downloads/Datasets/jiaozheng/2017sdm/SDM/002/",
"/Users/anitafang/Downloads/Datasets/jiaozheng/2017sdm/SDM/003/",
"/Users/anitafang/Downloads/Datasets/jiaozheng/2017sdm/SDM/004/",
"/Users/anitafang/Downloads/Datasets/jiaozheng/2017sdm/SDM/005/"
] def readLmk(fileName):
landmarks = []
if not os.path.exists(fileName):
return landmarks
else:
fp = open(fileName)
i =
for line in fp.xreadlines():
#print line.strip("\n")
TT = line.strip("\n")
if i> and i<:
# print TT
TT_temp = TT.split(" ")
x = int(float(TT_temp[]))
y = int(float(TT_temp[].strip("\r")))
landmarks.append((x,y))
i +=
return landmarks def main():
for temp in list_dir:
for dirpath,dirnames,filenames in os.walk(temp):
for file in filenames:
if file.split('.')[] not in ['jpg','png']:
continue
print file
fullpath = os.path.join(temp,file)
ptsFile = temp + ""+file.split('.')[] + ".pts" # 读取图片
image = cv2.imread(fullpath)
# 读取对应的pts文件
landmarks = readLmk(ptsFile)
for point in landmarks: cv2.circle(image,point,,(,,)) width = image.shape[]
height = image.shape[]
print (width,height)
if width > :
# 归一化到1000
image = cv2.resize(image,(,height*/width)) cv2.imshow("WW",image)
cv2.waitKey()
input = raw_input('请输入: ')
if input == " ":
print ("copy正确的数据源")
newpath="/Users/anitafang/Downloads/Datasets/jiaozheng/2017sdm/SDM2/001/" cmd = "cp " + fullpath + " " + ptsFile+ " "+ newpath print cmd
os.system(cmd) if __name__ == '__main__':
main()

讲一下Python按行读取文件内容:

 filename = "/Users/anitafang/Downloads/Datasets/jiaozheng/annot/sdm/001/annot/"+cnt+".pts"

        f1 = open(filename)
print(filename)
line_nu =
for line in f1.xreadlines():
if line_nu > and line_nu<:
# print(line)
linestr = line.strip()
# print(linestr)
linestrlist = linestr.split("\t")
# print(linestrlist)
# linelist = [int(i) for i in linestrlist]
# print(linelist) line_nu +=

Python 读取数据的更多相关文章

  1. 其它课程中的python---6、python读取数据

    其它课程中的python---6.python读取数据 一.总结 一句话总结: 记常用和特例:慢慢慢慢的就熟了,不用太着急,慢慢来 库的使用都很简单:就是库的常用函数就这几个,后面用的时候学都来得及. ...

  2. python读取数据文件:pandas包详解

    本文转载自https://blog.csdn.net/brucewong0516/article/details/79092579 pandas包是一个高效的文件读取工具,适用于txt,excel,等 ...

  3. python读取数据写入excel的四种操作

    Python对Excel的读写主要有:xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种 xlutils结合xlrd: 操作的是以xls后缀的excel,读取文件保留原格式 ...

  4. python读取数据

    #读取一行数据,去掉头尾空格 line = sys.stdin.readline().strip() #line类型为字符串 #字符串变成列表 line = sys.stdin.readline(). ...

  5. python读取数据写入excel

    '''写入excel文件''' import xlsxwriter # todo 创建excel文件 xl = xlsxwriter.Workbook(r'D:\testfile\test.xlsx' ...

  6. mysql timestamp为0值时,python读取后的对象为None

    MySQL数据表中,如果timestamp类型的字段,值为0, python从数据库读取数据后,得到对象是什么类型,是否为None呢? 下面来测试下. 创建数据表 首先创建数据表,其中字段pr_rul ...

  7. Python中数据的保存和读取

    在科学计算的过程中,往往需要保存一些数据,也经常需要把保存的这些数据加载到程序中,在 Matlab 中我们可以用 save 和 lood 函数很方便的实现.类似的在 Python 中,我们可以用 nu ...

  8. [转] Windows下使用Python读取Excel表格数据

    http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...

  9. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

随机推荐

  1. SharePoint 2010、2013多个域之间互信(Domain Trust)的设计与实施

    在现实的业务场景中,有时为了更好的管理域用户和服务.我们往往会创建多个分散式的域,每个域的Administrator专注于维护特定域中的用户和资源,Administrator也可以定义安全策略,比如账 ...

  2. C++中的#和##运算符

    #和##运算符 #:构串操作符 构串操作符#只能修饰带参数的宏的形参,它将实参的字符序列(而不是实参代表的值)转换成字符串常量 #define STRING(x) #x#x#x #define TEX ...

  3. hibernate的native sql查询

    在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hibernate推荐的HQL查询语句呢?这是因为HQ ...

  4. [转]用GSON 五招之内搞定任何JSON数组

    关于GSON的入门级使用,这里就不提了,如有需要可以看这篇博文 <Google Gson的使用方法,实现Json结构的相互转换> ,写的很好,通俗易懂. 我为什么写这篇文章呢?因为前几晚跟 ...

  5. InlineModelAdmin对象的学习

    一.InlineModelAdmin的介绍 管理界面可以在与父模型相同的页面上编辑模型.这些被称为内联. Django提供了两个子类,InlineModelAdmin它们是: TabularInlin ...

  6. logstash 中multiline插件的用法

    input { stdin { codec =>multiline { charset=>... #可选 字符编码 max_bytes=>... #可选 bytes类型 设置最大的字 ...

  7. git 修改历史提交信息

    当你不小心,写错了提交的注视/信息,该如何处理呢.理论上,SCM是不应该修改历史的信息的,提交的注释也是.   不过在git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息. ...

  8. 给Java开发人员的Play Framework(2.4)介绍 Part1:Play的优缺点以及适用场景

    1. 关于这篇系列 这篇系列不是Play框架的Hello World,由于这样的文章网上已经有非常多. 这篇系列会首先结合实际代码介绍Play的特点以及适用场景.然后会有几篇文章介绍Play与Spri ...

  9. spark join

    https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-sql-joins.html https://acadg ...

  10. MySQL开发索引创建规范

    1. [强制]业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引. 说明:不要以为唯一索引影响了insert速度,这个速度损耗可以忽略,但提高查找速度是明显的:另外,即使在应用层做了非 ...