怎么把上述代码的src_hist和dst_hist显示出来
时间: 2024-02-25 22:54:01 浏览: 72
PyPI 官网下载 | salavat_fast_hist-0.1.1.tar.gz
要显示直方图,可以使用OpenCV的`cv2.imshow()`函数。具体实现过程如下:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取原始图像和目标图像
src = cv2.imread('src.jpg')
dst = cv2.imread('dst.jpg')
# 将BGR空间转换为HSV空间
src_hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
dst_hsv = cv2.cvtColor(dst, cv2.COLOR_BGR2HSV)
# 计算原始图像和目标图像的直方图
src_hist = cv2.calcHist([src_hsv], [0, 1], None, [180, 256], [0, 180, 0, 256])
dst_hist = cv2.calcHist([dst_hsv], [0, 1], None, [180, 256], [0, 180, 0, 256])
# 显示原始图像和目标图像的直方图
plt.subplot(221), plt.imshow(src), plt.title('Original Image')
plt.subplot(222), plt.imshow(dst), plt.title('Target Image')
plt.subplot(223), plt.plot(src_hist), plt.title('Source Histogram')
plt.xlim([0, 180])
plt.subplot(224), plt.plot(dst_hist), plt.title('Target Histogram')
plt.xlim([0, 180])
plt.show()
```
这段代码中,`cv2.calcHist()`函数可以计算图像的直方图,并返回一个一维数组。然后,我们可以使用Matplotlib的`plt.plot()`函数将直方图绘制出来。其中,`plt.xlim()`函数可以设置x轴的范围,使直方图更加美观。最后,使用`plt.show()`函数显示图像和直方图。
阅读全文