区别两张颜色不同,但是形状面积一样的图片的python代码
时间: 2023-12-10 19:39:03 浏览: 76
这个问题其实可以用图像处理中的直方图来解决。直方图是一种图形表示,可以显示图像中每个像素值的分布情况。
首先,我们需要导入一些必要的库:
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
```
然后,我们可以生成两张形状面积一样的图片:
```python
# 创建纯黑色背景的图片
img1 = np.zeros((512,512), np.uint8)
# 在图片上画一个白色的圆形
cv2.circle(img1,(256,256), 200, 255, -1)
# 创建纯黑色背景的图片
img2 = np.zeros((512,512), np.uint8)
# 在图片上画一个白色的正方形
cv2.rectangle(img2, (200, 200), (312, 312), 255, -1)
```
接下来,计算每张图片的直方图:
```python
hist1 = cv2.calcHist([img1],[0],None,[256],[0,256])
hist2 = cv2.calcHist([img2],[0],None,[256],[0,256])
```
最后,我们可以使用 matplotlib 库将两张图片的直方图进行可视化,并比较它们之间的差异:
```python
plt.plot(hist1,color = 'r')
plt.plot(hist2,color = 'b')
plt.xlim([0,256])
plt.show()
```
如果两张图片的颜色不同,但是形状面积一样,那么它们的直方图应该是不同的,可以通过比较它们之间的差异来判断它们是否相同。
阅读全文