Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 图像区域的直方图_Python_Numpy_Opencv_Image Processing_Roi - Fatal编程技术网

Python 图像区域的直方图

Python 图像区域的直方图,python,numpy,opencv,image-processing,roi,Python,Numpy,Opencv,Image Processing,Roi,我想在python中获取numpy图像中某个区域的历史记录。我找到了如何使用口罩的解决方案 这个解决方案对我没有帮助,因为如果我使用它,我将丢失黑色像素的实际数量。另外,我想要得到的区域不一定是矩形的 要计算直方图,请使用np.histogram函数。它返回柱状图和箱子。因此,您可以存储结果并使用它: hist, bins = np.histogram(arr, bins=bins, range=range) 如果要绘制结果,可以在应用np.histogram后使用plt.bar,只需通过bi

我想在python中获取numpy图像中某个区域的历史记录。我找到了如何使用口罩的解决方案


这个解决方案对我没有帮助,因为如果我使用它,我将丢失黑色像素的实际数量。另外,我想要得到的区域不一定是矩形的

要计算直方图,请使用
np.histogram
函数。它返回柱状图和箱子。因此,您可以存储结果并使用它:

hist, bins = np.histogram(arr, bins=bins, range=range)
如果要绘制结果,可以在应用
np.histogram
后使用
plt.bar
,只需通过
bin
hist

plt.bar(bins, hist)
另一个选项是使用
matplotlib
plt.hist
计算直方图并根据原始数据进行绘制:

plt.hist(arr, bins=bins)
以下是任何形状的图像区域直方图的完整示例:

代码:

输出:

浣熊的最终测试:

代码:

输出:


要计算直方图,请使用
np.histogram
函数。它返回柱状图和箱子。因此,您可以存储结果并使用它:

hist, bins = np.histogram(arr, bins=bins, range=range)
如果要绘制结果,可以在应用
np.histogram
后使用
plt.bar
,只需通过
bin
hist

plt.bar(bins, hist)
另一个选项是使用
matplotlib
plt.hist
计算直方图并根据原始数据进行绘制:

plt.hist(arr, bins=bins)
以下是任何形状的图像区域直方图的完整示例:

代码:

输出:

浣熊的最终测试:

代码:

输出:


我不希望它必须是矩形的原因是,我想让区域被活动轮廓包围,无论如何,非常感谢您,这个anser可以帮助我,它将是一个连通区域吗?像一个多边形?这很有趣,我需要测试一个想法谢谢你我想这是我想要的直方图。。。但是你能不能把它放在一个变量中,因为我想用它做一些处理…谢谢你哦,是的,只需使用
np.histogram
来获取hist作为输出。看看更新后的答案。我不希望它一定是矩形的原因是我想让区域被活动轮廓包围,无论如何,非常感谢这个anser可以帮助我它将是一个连通区域?像一个多边形?这很有趣,我需要测试一个想法谢谢你我想这是我想要的直方图。。。但是你能不能把它放在一个变量中,因为我想用它做一些处理…谢谢你哦,是的,只需使用
np.histogram
来获取hist作为输出。看看最新的答案。