python 计算两幅图像的峰值信噪比
时间: 2023-09-13 14:07:27 浏览: 164
计算两幅图像的峰值信噪比可以使用以下代码:
```python
import cv2
import numpy as np
# 读取两幅图像
img1 = cv2.imread('image1.png')
img2 = cv2.imread('image2.png')
# 计算 MSE
mse = np.mean((img1 - img2) ** 2)
# 计算 PSNR
if mse == 0:
psnr = 100
else:
max_pixel = 255.0
psnr = 20 * np.log10(max_pixel / np.sqrt(mse))
print("PSNR: ", psnr, "dB")
```
其中,`cv2.imread`函数用于读取图像,`np.mean`函数计算 MSE(均方误差),`np.log10`函数用于计算对数,最后计算得到 PSNR(峰值信噪比)。
需要注意的是,两幅图像的大小和通道数需要相同,否则会报错。
相关问题
峰值信噪比python代码
计算峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)的Python代码如下:
```python
import cv2
import numpy as np
def psnr(img1, img2):
mse = np.mean((img1 - img2) ** 2)
if mse == 0:
return float('inf')
max_pixel = 255.0
psnr = 20 * np.log10(max_pixel / np.sqrt(mse))
return psnr
# 示例:
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
print("PSNR: ", psnr(img1, img2))
```
其中,`img1`和`img2`分别是待比较的两幅图像,可以用OpenCV库读入。函数中计算了两幅图像的均方误差(Mean Square Error,MSE),然后根据MSE计算PSNR值。如果MSE为0,说明两幅图像完全一致,此时PSNR为正无穷。否则,PSNR值越高,表示两幅图像越接近。
利用信息熵和峰值信噪比评价灰度图像彩色化的质量代码
以下是利用信息熵和峰值信噪比评价灰度图像彩色化质量的 Python 代码:
```python
import cv2
import numpy as np
def entropy(img):
h, w = img.shape[:2]
hist = cv2.calcHist([img], [0], None, [256], [0, 256])
hist /= (h * w)
hist = hist.ravel()
entropy = -np.sum([p * np.log2(p + 1e-10) for p in hist if p != 0])
return entropy
def psnr(img1, img2):
mse = np.mean((img1 - img2) ** 2)
psnr = 10 * np.log10(255 ** 2 / mse)
return psnr
# 读入灰度图像
gray_img = cv2.imread('gray_image.png', cv2.IMREAD_GRAYSCALE)
# 读入彩色图像
color_img = cv2.imread('color_image.png')
# 进行彩色化处理
colorized_img = colorize(gray_img)
# 计算信息熵和峰值信噪比
gray_entropy = entropy(gray_img)
colorized_entropy = entropy(colorized_img)
psnr_value = psnr(color_img, colorized_img)
print('Gray Image Entropy: {:.2f}'.format(gray_entropy))
print('Colorized Image Entropy: {:.2f}'.format(colorized_entropy))
print('PSNR Value: {:.2f}'.format(psnr_value))
```
其中,`entropy` 函数计算图像的信息熵,`psnr` 函数计算两幅图像的峰值信噪比。在代码中,我们读入灰度图像和彩色图像,并对灰度图像进行彩色化处理,然后计算信息熵和峰值信噪比,输出结果。请注意,`colorize` 函数需要根据具体的彩色化算法来实现。
阅读全文