将一个文件夹下面的图像和对应的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. 深入理解Python中的yield和send

    send方法和next方法唯一的区别是在执行send方法会首先把上一次挂起的yield语句的返回值通过参数设定,从而实现与生成器方法的交互. 但是需要注意,在一个生成器对象没有执行next方法之前,由 ...

  2. C#基础第四天-作业答案-Hashtable-list<KeyValuePair>泛型实现名片

    .Hashtable 实现 Hashtable table = new Hashtable(); while (true) { Console.WriteLine("------------ ...

  3. ACM会议列表与介绍(2014/05/06)

    Conferences ACM SEACM Southeast Regional Conference ACM Southeast Regional Conference the oldest, co ...

  4. JS 在 IE9 中出现奇怪的错误(参数是必选项 argument not optional)

    最近发现之前运行正常的网站,在 IE9 下会报这个错误.网上查了一下,发现是跟我的方法名字有关... 我起了一个叫做 addFilter 名字的方法,但是很不巧,IE9 里也有一个这个名字的方法,所以 ...

  5. 关于第三方cookie的作用域以及针对用户行为的使用

    cookie,很多网站都会用的一个机制,可以保存用户的相关信息,token等等,很多人熟知的应该是第一方cookie,可以针对二级域名进行信息的保存,如果遇到跨域的情况,那么第一方cookie是没有用 ...

  6. struts2(三) 输入校验和拦截器

    前面知道了struts2的架构图和struts2的自动封装表单参数和数据类型自动转换,今天来学struts2的第三第四个东西,输入校验和拦截器, --WH 一.输入校验 在以前我们写一个登录页面时,并 ...

  7. Xilinx vivado迅雷下载地址(所有版本)

    注:其实该方法适用于提取Xilinx官网的任意工具的任意版本的迅雷下载地址 ①进入Xilinx官网,进入Device->Design Tools,选择你想要下载的任意工具.②进入新web页面,右 ...

  8. NGINX宏观手记(变量|配置)

    前言 任何一个工具都有它的灵魂所在,作为一个PHP程序员,我们可能仅仅使用了它的一小部分,这篇文章让你更加了解Nginx,本章大多都是总结.翻译.整理 ,希望你可以知道nginx不仅仅是PHP的附属品 ...

  9. blocking

    package blockingtest; /** * Hello world! */public class Sync implements Runnable { int n; public sta ...

  10. (原创)谈谈boost.asio的异步发送

    在上一篇博文中提到asio的异步发送稍微复杂一点,有必要单独拿出来说说.asio异步发送复杂的地方在于: 不能连续调用异步发送接口async_write,因为async_write内部是不断调用asy ...