我是MATLAB的新手。我有6个直方图,它们是通过将图像细分为补丁而创建的。如何合并这些补丁以制作一个直方图(即连接6个直方图)?
我试过这段代码:
subplot(3,4,1)
imhist(Patch1)
subplot(3,4,2)
imhist(Patch2)
subplot(3,4,3)
imhist(Patch3)
subplot(3,4,4)
imhist(Patch4)
答案 0 :(得分:0)
您可以将所有补丁连接到一个向量中,然后在此向量上调用imhist
。您提到当您的代码仅显示四时,您有六直方图。因此,我将假设其他直方图来自Patch5
和Patch6
。知道这一点,代码就是:
patch = [Patch1(:); Patch2(:); Patch3(:); Patch4(:); Patch5(:); Patch6(:)];
imhist(patch);
直方图与您正在查看的图像尺寸无关。它只计算您使用的每个数据强度级别遇到的像素数。因此,我们可以简单地将每个贴片的所有这些像素放入单个矢量中,并对该矢量进行直方图。这将很好地工作,因为这将忽略每个补丁的尺寸,因此我们不必构建新图像并对新构建的图像进行直方图。