Numpy输出解释

2024-05-14 19:56:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我是使用python进行视频处理的初学者。在

我有一个原始的视频数据从相机捕捉,我需要检查视频中是否有明亮或黑暗的帧。在

到目前为止,我所取得的成就是,我可以在python中使用numpy读取原始视频。 下面是我的代码。在

import numpy as np 
fd = open('my_video_file.raw', 'rb') 
rows = 4800
cols = 6400 
f = np.fromfile(fd, dtype=np.uint8,count = rows*cols) 
im = f.reshape((rows,cols)) #notice row, column format 
print im 
fd.close()

输出:

^{pr2}$

基于数组或numpy输出,是否可以检查原始视频数据是否有暗(不太亮)帧。在

另外,请告诉我数字输出(打印im)是什么意思? 如果你有任何链接,我可以参考,这是非常欢迎。在


Tags: 数据代码importnumpy视频myasnp
2条回答

只是对你的问题有一点了解。(您可能需要阅读更多关于数字图像表示的内容,e.g. here)。视频的帧是以uint8格式读取的,也就是说,像素是用0到255的值编码的。在

通常,较高的值表示较亮的像素。根据你的视频,你可以有彩色或非彩色帧@Batyrkhan Saduanov提到。所以你要做的是定义最低和最高级别来声明一个帧为“暗”或“亮”。在

在非彩色的情况下,您可以很容易地使用每个帧的平均像素值,asign阈值级别如下所示:

if

如果你有带红色、绿色和蓝色通道的彩色帧,即NxMx3矩阵,那么你可以将这个矩阵从RGB表示转换为HSV(色调、饱和度、值)表示,也就是NxMx3矩阵。然后你可以从这个矩阵中取值页,即这个矩阵的第三个通道,计算这个矩阵中所有元素的平均值。设置任何阈值,如0.5,如果平均值小于此值,则此帧可视为暗。在

阅读HSVhere。在

要将RGB向量转换为HSV向量,可以使用matplotlib.colors.rgb_to_hsv(arr)函数。在

相关问题 更多 >

    热门问题