首页 > 编程知识 正文

matlab用点进行索引,matlab索引超出矩阵维度

时间:2023-05-05 23:37:33 阅读:110355 作者:4651

转自: https://zhidao.Baidu.com/question/4976825.html

索引图像包含数据矩阵x和颜色映射矩阵Map。 其中,Map是3列、多行的数据数组,各元素的值为[ 0,1 ]之间的双精度浮点数据。 地图矩阵中的每一行分别表示红色、绿色和蓝色的颜色值。 在MATLAB中,索引图像是像素值到颜色映射表值的“直接映射”。 像素的颜色是以数据矩阵x为索引在矩阵映射中索引的。 例如,值1指向矩阵映射中的第一行,值2指向第二行,依此类推。

补充图有助于理解:

图中圆内的是索引图像的索引表,下方的是与之对应的RGB颜色表。

图中黑圈的索引号为5,与RGB颜色的第五行对应,所以这里的RGB颜色实际上是0.2902 0.0627 0.0627

索引图像的作用是体积小,便于传输。 只需转发索引表,接收方用对应的RGB颜色表进行恢复即可。

[X,map]=RGB2ind(RGB,n ),使用最小色散量化以及抖动,将RGB图像转换为索引图像x。 地图最多包含n种颜色。 n必须小于或等于65,536。

functionindeximg(imgname ) %索引图像I_RGB=imread ) imgname; [I_index64,map64]=RGB2ind(I_RGB,64 ); [I_index256,map256]=RGB2ind(I_RGB,256 ); figure(1) subplot ) 2,1,1 )、imagesc ) I_RGB )、title('Origin ' ); subplot (2,1,2 )、imagesc ) I_index64 )、colormap ) map64 )、title(index_img64 ) ); figure(2) subplot ) 2,1,1 )、imagesc ) I_RGB )、title ) (' Origin ' ); subplot (2,1,2 )、imagesc(I_index256 )、colormap (map ) map256 )、title ) ) index_img256; end Map64支持64种颜色!

映射64=

0.08630.09020.10200.56860.52550.35690.20780.29410.45100.7647.71760.55290.3137.2980.20390.3412 . 4000.26670.6196.71370.85880.3686.39610.45100.15100 467.62350.87450.7020.77650.88240.24310.2980 0.30200.12940.1490.18040.61960.58430.42750.65880.63530.56080.7490.83530.98430.47840.56080.74120 8820.24310.34900.4588.45490.44710.2784.2549.184330.4588.45100.41570.40390.34900.36080.55690.920 059.4110 0.46670.70200.40390.54120.76470.1216.16860.24710.5529.52940.44310.8157.87450.98430.430.4431 0.66670.93330.2000.21570.21570.5294.63920.80780.4941.46670.97250.9820.45490.61960.97250.97250.62350

ans=

63ksize(I_index256 ) )。

ans=

1080 1920输出图像:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。