2014-06-25 63 views
-4

我是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) 
+0

你想连接图像或连接直方图吗? –

+0

@VictorMay - OP希望计算一个直方图,表示所有拼贴的亮度等级。 “连接”在OP的部分是一个误用。我会说这是**将所有补丁中的所有信息合并在一起。 – rayryeng

+0

那么为什么将图像细分为补丁呢? –

回答

0

您可以连接所有的补丁到单一载体中,然后调用imhist这个矢量。你提到你有六个直方图当你的代码只显示。因此,我会假设其他直方图来自Patch5Patch6。知道这一点,代码将简单地为:

patch = [Patch1(:); Patch2(:); Patch3(:); Patch4(:); Patch5(:); Patch6(:)]; 
imhist(patch); 

直方图与您正在查看的图像的维度不可知。它只会计算您在使用的数据强度级别上遇到的像素数量。因此,我们可以简单地将每个补丁的所有这些像素放入一个单独的矢量中,然后对该矢量进行直方图分析。这将很好地工作,因为这将忽略每个补丁的尺寸,所以我们不必构建新图像并对新构建的图像进行直方图。

+0

@ user3777182 - 不客气。如果我以任何方式帮助你,请考虑接受我的答案。点击左侧上方和下方箭头下方的复选标记图标。 – rayryeng