Python读取YUV文件,并显示的方法
Python读取YUV格式文件,并使用opencv显示的方法
opencv可以读取的图片类型比较多,但大多是比较常见的类型,比如".jpg"和".png",但它不能直接读取YUV格式的文件,需要通过python读取YUV文件,并进行相应的转换后,才能被opencv读取,并进行后续相应的处理.
话不多说,直接上程序。
import cv2 from numpy import * import Image screenLevels = 255.0 def yuv_import(filename,dims,numfrm,startfrm): fp=open(filename,'rb') blk_size = prod(dims) *3/2 fp.seek(blk_size*startfrm,0) Y=[] U=[] V=[] print dims[0] print dims[1] d00=dims[0]//2 d01=dims[1]//2 print d00 print d01 Yt=zeros((dims[0],dims[1]),uint8,'C') Ut=zeros((d00,d01),uint8,'C') Vt=zeros((d00,d01),uint8,'C') for i in range(numfrm): for m in range(dims[0]): for n in range(dims[1]): #print m,n Yt[m,n]=ord(fp.read(1)) for m in range(d00): for n in range(d01): Ut[m,n]=ord(fp.read(1)) for m in range(d00): for n in range(d01): Vt[m,n]=ord(fp.read(1)) Y=Y+[Yt] U=U+[Ut] V=V+[Vt] fp.close() return (Y,U,V) if __name__ == '__main__': width=1280 height=720 data=yuv_import('test.yuv',(height,width),1,0) YY=data[0][0] cv2.imshow("sohow",YY) cv2.waitKey(0)
如果YUV文件需要转换为PIL的image格式,那么只需在main函数中,进行稍微的处理。
YY=data[0][0] im=Image.frombytes('L',(720,1280),YY.tostring())
另外,如果PIL的image想转换为opencv的mat格式,只需将PIL转换为矩阵的形式。
im_array = np.array(im) # 也可以用 np.asarray(im) 区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝
以上这篇Python读取YUV文件,并显示的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python 读取指定文件夹下的所有图像方法
(1)数据准备 数据集介绍: 数据集中存放的是1223幅图像,其中756个负样本(图像名称为0.1~0.756),458个正样本(图像名称为1.1~1.458),其中:"."前的标号为样本标签,"."后的标号为样本序号 (2)利用python读取文件夹中所有图像 ''' Load the image files form the folder input: imgDir: the direction of the folder imgName:the name of
-
Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 with open('pi_digits.txt') as f: # 默认模式为'r',只读模式 contents = f.read() # 读取文件全部内容 print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行) print '
-
对python .txt文件读取及数据处理方法总结
1.处理包含数据的文件 最近利用Python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型的数组时,出现了以下错误: TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U3') dtype('<U3') dtype('<U3') 作为一个Python新手,遇到这个问题后花费了挺多时间,在网上找了许多大神们写的例子,最后终于解决了. 总
-
Python之读取TXT文件的方法小结
方法一: <span style="font-size:14px;">#read txt method one f = open("./image/abc.txt") line = f.readline() while line: print line line = f.readline() f.close() </span> 方法二: #read txt method two f = open("./image/abc.txt&q
-
Python实现读取并保存文件的类
本文实例讲述了Python实现读取并保存文件的类.分享给大家供大家参考,具体如下: 这个类写在一个叫class_format.py 的文件里, 放在D盘 >>> import os >>> os.chdir("D:\\") >>> os.getcwd() 'D:\\' >>> os.listdir(".") ...... 有一个testcsv.txt 文件放在D盘,内容如下(oi的两边有空格):
-
使用Python读取大文件的方法
背景 最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法. 准备工作 我们谈到"文本处理"时,我们通常是指处理的内容.Python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个"读"方法: .read()..readline() 和 .readlines().每种方法可以接受一个变量以限制每次读取的数据量,但它们
-
Python 读取某个目录下所有的文件实例
在处理数据的时候,因为没有及时的去重,所以需要重新对生成txt进行去重. 可是一个文件夹下有很多txt,总不可能一个一个去操作,这样效率太低了.这里我们需要用到 os 这个包 关键的代码 <span style="font-size:14px;"># coding=utf-8 #出现了中文乱码的问题,于是我无脑utf-8 .希望后期的学习可以能理解 import os import os.path import re import sys import codecs rel
-
Python读取YUV文件,并显示的方法
Python读取YUV格式文件,并使用opencv显示的方法 opencv可以读取的图片类型比较多,但大多是比较常见的类型,比如".jpg"和".png",但它不能直接读取YUV格式的文件,需要通过python读取YUV文件,并进行相应的转换后,才能被opencv读取,并进行后续相应的处理. 话不多说,直接上程序. import cv2 from numpy import * import Image screenLevels = 255.0 def yuv_imp
-
利用python读取YUV文件 转RGB 8bit/10bit通用
注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像素占用2字节,对应文件指针的fp.read(2): 然后使用 int.from_bytes() 方法将二进制转换为int型数字. 以下程序可以读8bit或10bit位深的YUV,需要指定从第几帧开始读.一共读多少帧. 它返回三个数组,其shape分别为:Y [frame,W,H] U [frame,
-
python 读取yaml文件的两种方法(在unittest中使用)
作者:做梦的人(小姐姐) 出处:https://www.cnblogs.com/chongyou/ python读取yaml文件使用,有两种方式: 1.使用ddt读取 2,使用方法读取ddt的内容,在使用方法中进行调用 1.使用ddt读取 @ddt.ddt class loginTestPage(unittest.TestCase): @ddt.file_data(path) @ddt.unpack def testlogin(self,**kwargs):
-
Python实现的json文件读取及中文乱码显示问题解决方法
本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { "city": "北京", "cityid": "101010100" }, { "city": "上海", "cityid": "101020100"
-
Python Pandas批量读取csv文件到dataframe的方法
PYTHON Pandas批量读取csv文件到DATAFRAME 首先使用glob.glob获得文件路径.然后定义一个列表,读取文件后再使用concat合并读取到的数据. #读取数据 import pandas as pd import numpy as np import glob,os path=r'e:\tj\month\fx1806' file=glob.glob(os.path.join(path, "zq*.xls")) print(file) dl= [] for f i
-
python读取xml文件方法解析
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <maxid
-
解决python 读取npy文件太大不能完全显示的问题
python读取npy文件时,太大不能完全显示,其解决方法 当用python读取npy文件时,会遇到npy文件太大,用print函数打印时不能完全显示,如以下情况: 解决办法 添加一行代码:np.set_printoptions(threshold = 1e6),其中threshold表示输出数组的元素数目 其结果如下: 补充:PyCharm打开大文件时提示文件过大,只显示前一小部分 使用pycharm打开一些大文件时,会出现上述提示,表明文件过大,只能以只读的方式显示前一小部分内容,这种情况显
-
python读取json文件并将数据插入到mongodb的方法
本文实例讲述了python读取json文件并将数据插入到mongodb的方法.分享给大家供大家参考.具体实现方法如下: #coding=utf-8 import sunburnt import urllib from pymongo import Connection from bson.objectid import ObjectId import logging from datetime import datetime import json from time import mktime
-
使用python读取txt文件的内容,并删除重复的行数方法
注意,本文代码是使用在txt文档上,同时txt文档中的内容每一行代表的是图片的名字. #coding:utf-8 import shutil readDir = "原文件绝对路经" writeDir = "写入文件的绝对路径" #txtDir = "/home/fuxueping/Desktop/1" lines_seen = set() outfile=open(writeDir,"w") f = open(readDir,
-
python批量读取txt文件为DataFrame的方法
我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作.比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢? 首先我们要用到glob模块,这个python内置的模块可以说是非常的好用. glob.glob('*.txt') 得到如下结果: all.txt是我最后得到的结果文件.可以见返回的是一个包含txt文件名称的列表,当然如果你的文件夹下面只有txt文件,那么你用os.listdir()可以得到一个一样的列表 然后
随机推荐
- PHP 使用MySQL管理Session的回调函数详解
- PHP 微信支付类 demo
- JS中检测数据类型的几种方式及优缺点小结
- asp.net+js实现金额格式化
- C# Bitmap 复制的小例子
- asp.net的cms 绑定数据篇
- 下载站mime属性设置(让文件可下载)
- 一页面多XMLHttpRequest对象
- Android简易电话拨号器实例详解
- 基于jquery的商品展示放大镜
- js编写“贪吃蛇”的小游戏
- 避免回车键导致的页面无意义刷新的解决方法
- 关闭浏览器窗口弹出提示框并且可以控制其失效
- 纯js仿淘宝京东商品放大镜功能
- 详解C++编程中运算符的使用
- php 无限级缓存的类的扩展
- RecyclerView实现常见的列表菜单
- 在Nginx服务器中使用LibreSSL的教程
- vue使用laydate时间插件的方法
- Python面向对象程序设计之继承与多继承用法分析