为什么只有稳像视频的psnr,原视频的没法计算吗如果可以请计算,并绘制二者的psnr折线图
时间: 2024-05-16 22:14:43 浏览: 7
通常情况下,计算PSNR需要比较两个视频的像素值,因此需要有两个视频的像素值才能计算它们之间的PSNR。如果只有一个视频,它本身的PSNR值没有实际意义。
如果您有两个视频,可以使用视频编辑软件(如Premiere Pro)或编程语言(如Python)来计算它们之间的PSNR。以下是一个Python示例代码,可以计算两个视频之间的PSNR并绘制折线图:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取原视频和稳像后的视频
org = cv2.VideoCapture('original.mp4')
steady = cv2.VideoCapture('steady.mp4')
# 获取视频帧数和分辨率
frame_count = int(org.get(cv2.CAP_PROP_FRAME_COUNT))
width = int(org.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(org.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 初始化PSNR数组
psnr_values = np.zeros(frame_count)
# 计算每一帧的PSNR值
for i in range(frame_count):
# 读取原视频和稳像后的视频的帧
_, org_frame = org.read()
_, steady_frame = steady.read()
# 转换为灰度图像
org_frame_gray = cv2.cvtColor(org_frame, cv2.COLOR_BGR2GRAY)
steady_frame_gray = cv2.cvtColor(steady_frame, cv2.COLOR_BGR2GRAY)
# 计算PSNR值
psnr_values[i] = cv2.PSNR(org_frame_gray, steady_frame_gray)
# 绘制PSNR折线图
plt.plot(psnr_values)
plt.title('PSNR Values')
plt.xlabel('Frame Number')
plt.ylabel('PSNR')
plt.show()
# 释放视频对象
org.release()
steady.release()
```
这个示例代码假定您有两个视频文件:`original.mp4`和`steady.mp4`。它计算每个帧的PSNR值,并将所有值绘制在一个折线图中。您可以使用类似的代码来计算您自己的视频文件的PSNR值和绘制折线图。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)