我的问题比任何事情都更具概念性。我在极坐标系中表示空间地图(比如大城市地图)。我记录了10x10家乡郊区居民的数据,询问他们希望居住在这个大都市区的(r,theta)
- r
与中心的距离,theta
角度围绕x轴,所以我使用极坐标系并使用HSV对其进行颜色编码,保持V=1=constant
。在获得每个家庭的HSV颜色后,我将这个10x10x3 HSV矩阵转换为RGB并使用image()显示以下图表。
图1:[10x10网格代表一个社区。颜色代表这些家庭想要居住在大都市区的地方。图例显示了极坐标中的都市区域,HSV颜色空间,其中V = 1。
现在,我正试图创建一个更好的视觉表现这个郊区,看看人们是否根据他们想要居住在大都市区的偏好进行分组。使用
Img2=imresize(Img,1000,'bilinear','colormap','original');
这会将10x10x3 RGB 矩阵的大小增加到10000x10000x3 RGB矩阵,同时在像素之间使用双线性插值,从而平滑显示此处显示的图片:
图2:[在像素之间使用双线性插值的大平滑矩阵]
我的问题是:如果我的主要兴趣在于HSV空间即极坐标都市区,那么在RGB空间中使用这种插值方法是否有效?换句话说,当此函数采用RGB中许多像素的平均颜色时,它是否代表大都市区中正确的半径和角度?
提前谢谢你。我为一个可能很简单的问题长篇大论而道歉。
答案 0 :(得分:1)
V定义为max(R,G,B)。
如果您从RGB(255,0,0)
插入到RGB(0,0,255)
,那么中途结束时会RGB(128,0,128)
。
你看到最大值是128.所以你不能使用rgb
插值,除非你把V增加到1(或255
,如果你使用8位)
顺便说一句。我不会插值,因为你不能假设基础值是线性的。
有关详细信息,请参阅此处:https://stackoverflow.com/a/2594030/461499