我是MATLAB的新手。我有6个直方图,它们是通过将图像细分为多个补丁而创建的。我如何合并这些补丁来制作一个直方图(即连接6个直方图)?在MATLAB中连接直方图
我曾尝试这样的代码:
subplot(3,4,1)
imhist(Patch1)
subplot(3,4,2)
imhist(Patch2)
subplot(3,4,3)
imhist(Patch3)
subplot(3,4,4)
imhist(Patch4)
我是MATLAB的新手。我有6个直方图,它们是通过将图像细分为多个补丁而创建的。我如何合并这些补丁来制作一个直方图(即连接6个直方图)?在MATLAB中连接直方图
我曾尝试这样的代码:
subplot(3,4,1)
imhist(Patch1)
subplot(3,4,2)
imhist(Patch2)
subplot(3,4,3)
imhist(Patch3)
subplot(3,4,4)
imhist(Patch4)
您可以连接所有的补丁到单一载体中,然后调用imhist
这个矢量。你提到你有六个直方图当你的代码只显示四。因此,我会假设其他直方图来自Patch5
和Patch6
。知道这一点,代码将简单地为:
patch = [Patch1(:); Patch2(:); Patch3(:); Patch4(:); Patch5(:); Patch6(:)];
imhist(patch);
直方图与您正在查看的图像的维度不可知。它只会计算您在使用的数据强度级别上遇到的像素数量。因此,我们可以简单地将每个补丁的所有这些像素放入一个单独的矢量中,然后对该矢量进行直方图分析。这将很好地工作,因为这将忽略每个补丁的尺寸,所以我们不必构建新图像并对新构建的图像进行直方图。
@ user3777182 - 不客气。如果我以任何方式帮助你,请考虑接受我的答案。点击左侧上方和下方箭头下方的复选标记图标。 – rayryeng
你想连接图像或连接直方图吗? –
@VictorMay - OP希望计算一个直方图,表示所有拼贴的亮度等级。 “连接”在OP的部分是一个误用。我会说这是**将所有补丁中的所有信息合并在一起。 – rayryeng
那么为什么将图像细分为补丁呢? –