比较两个图像并输出它们的直方图
compare two images and output their histograms
我有两张 黑白图像,我想使用直方图进行比较。
我正在使用以下代码显示单个图像的直方图:
import cv2
from matplotlib import pyplot as plt
img = plt.imread('222.jpg', 0)
histr = cv2.calcHist([img],[0],None,[256],[0,256])
plt.plot(histr)
plt.show()
我得到输出直方图:
你能告诉我吗,我怎样才能在输出图上显示两个 黑白图像 的 两个直方图 ,例如,第一张图片显示为 红线 ,第二张图片显示为 蓝线 ,好吧,或者任何其他 直方图格式。
另外,请告诉我如何获取 黑白图像 的数据,以便我可以在 excel 中构建直方图,因为例子。
非常感谢!
你需要把两张黑白图的图都提到然后显示出来
在 plot()
中使用 color
标志选择颜色
代码:
img1 = plt.imread('image_1.jpg', 0)
img2 = plt.imread('image_2.jpg', 0)
# histogram of both images
hist1 = cv2.calcHist([img1],[0],None,[256],[0,256])
hist2 = cv2.calcHist([img2],[0],None,[256],[0,256])
# plot both the histograms and mention colors of your choice
plt.plot(hist1,color='red')
plt.plot(hist2, color='green')
plt.show()
要回答您的第二个问题,请将 hist1
和 hist2
中的值作为两个单独的列存储在数据框中。将数据框另存为 excel 或 CSV 文件。您稍后可以打开文件,select 列和绘图。
我有两张 黑白图像,我想使用直方图进行比较。
我正在使用以下代码显示单个图像的直方图:
import cv2
from matplotlib import pyplot as plt
img = plt.imread('222.jpg', 0)
histr = cv2.calcHist([img],[0],None,[256],[0,256])
plt.plot(histr)
plt.show()
我得到输出直方图:
你能告诉我吗,我怎样才能在输出图上显示两个 黑白图像 的 两个直方图 ,例如,第一张图片显示为 红线 ,第二张图片显示为 蓝线 ,好吧,或者任何其他 直方图格式。 另外,请告诉我如何获取 黑白图像 的数据,以便我可以在 excel 中构建直方图,因为例子。 非常感谢!
你需要把两张黑白图的图都提到然后显示出来
在
中使用plot()
color
标志选择颜色
代码:
img1 = plt.imread('image_1.jpg', 0)
img2 = plt.imread('image_2.jpg', 0)
# histogram of both images
hist1 = cv2.calcHist([img1],[0],None,[256],[0,256])
hist2 = cv2.calcHist([img2],[0],None,[256],[0,256])
# plot both the histograms and mention colors of your choice
plt.plot(hist1,color='red')
plt.plot(hist2, color='green')
plt.show()
要回答您的第二个问题,请将 hist1
和 hist2
中的值作为两个单独的列存储在数据框中。将数据框另存为 excel 或 CSV 文件。您稍后可以打开文件,select 列和绘图。