matlab如何处理当数据范围很大时颜色变化也要较明显

问题描述:

        我的数据是四列[x,y,z,c],根据c值的变化颜色也应相应变化。我要画一个三维图像,图上呈现颜色随数据变化而变化的现象。我的c值的变化范围是[1.0e-20 3.5e-16],相差10的6次方,所以数值之间的差异还是比较大的。其中大部分数据为0,其他非零的数值集中在1.0e-20和3.5e-16附近。目标是要使得随着非零数值的变化颜色也要相应的变化,人眼要能够看到这种变化,零值与非零值要能够较明显地区分。使用通常的画图方法难以体现颜色随着c值的变化而变化。

初始绘图方法:

scatter3(x,y,z,10,c,'filled');
caxis([1.0e-22 3.5e-16]);
colormap('jet');
colorbar;


存在问题:

        colormap默认只有64种RGB的组合,可以使用map = colormap;查看map的值得到。这样的话,由于在colorbar中1.0e-22与0相当接近,导致1.0e-22附近的非零值与0在三维图形中的颜色几乎是一样的,无法区别。无法达到我的要求。

        colormap name除了jet外还有很多可选的,如下图:


        选择jet是因为,jet的颜色从蓝到红,有一个渐变的过程,而我正需要这样一个渐变的过程,而且包含的颜色较为丰富。

改进方法:

scatter3(x,y,z,10,c,'filled');  
caxis([1.0e-22 3.5e-16]);
colormap(jet(1e+6));
map = colormap;
map(1,:) = [0 0 0];
colormap(map);
colorbar;


        colormap(jet(1e+6));这句话表示此时将有10的6次方种RGB组合,此时颜色一下就丰富起来了,虽然相对于10的22次方还是有一定的差距。不过在图形上已经可以较好的进行颜色区分了。注意RGB组合值不应该设置得过大,我一开始设置为10的10次方直接就被提示超过了表示范围。使用10的9次方时,电脑马上就死机了,在下只好强制关机重启。最后还是选择了10的6次方,10的7次方也可以,不过会慢一些,毕竟在下的电脑比较渣就不逞这个强了。

        map(1,:) = [0 0 0]将1.0e-22对应的颜色设置为黑色。小于1.0e-22的值都是黑色。而上图jet没有黑色,所以这样就将0值和非零值较好的区分开了。左端值设置为1.0e-22是为了保证c值的变化范围是[1.0e-20 3.5e-16]的左端值不会是黑色。

总结:

        matlab图形功能还是很强大的,里面还有很多函数我都还没有来得及看,慢慢学习。此次主要需要了解colormap的相关使用方法,建议大家多看看MATLAB使用手册上面的相关说明,一定会有所收获。

        学海无涯,苦中作乐。


  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 遥感数据处理是指利用遥感技术获取的遥感图像数据,通过计算机软件进行分析和处理的过程。MATLAB作为一种专业的数学计算软件,在遥感数据处理中具有广泛的应用。 MATLAB提供了很多强大的函数和工具箱,可以用于遥感数据的读取、处理、分析和可视化。首先,我们可以使用MATLAB读取不同格式的遥感图像数据,如Landsat等。读取后,可以进行预处理操作,如大气校正、辐射校正等,以获取更准确和可靠的图像数据。 接下来,可以利用MATLAB进行遥感图像的特征提取和分类。利用图像处理和计算机视觉的相关函数和算法,可以提取图像的灰度、纹理、形状等特征,并将图像分成不同的类别。这可以用于土地覆盖分类、植被监测等应用。 此外,MATLAB还可以用于遥感图像的变换和拼接。例如,可以使用MATLAB中的傅里叶变换来进行图像的频域分析,或利用小波变换进行多尺度分析。同,可以将多幅遥感图像进行拼接,形成更大范围的图像,以便于后续的分析和应用。 最后,MATLAB还提供了丰富的可视化工具,可以用于遥感图像的展示和分析结果的可视化。可以通过调整图像的对比度、亮度等参数,来呈现更好的视觉效果。同,可以生成各种统计图表,利用颜色渲染技术来展示图像的差异等。 总之,MATLAB在遥感数据处理中具有丰富的功能和应用,可以帮助研究人员和工程师更好地分析和应用遥感数据,为环境监测、资源管理等领域提供有力支持。 ### 回答2: 遥感数据是通过遥感技术获取的地球表面信息数据,包括影像、遥感专题产品等。遥感数据处理是将获取到的遥感数据进行分析和加工处理,以提取出所需的地表信息。 MATLAB是一款强大的数学计算软件,也是遥感数据处理中常用的工具之一。它提供了丰富的函数和算法,可以进行图像处理数据处理、建模和仿真等操作,非常适合用于遥感数据处理。 遥感数据处理的步骤包括数据处理、特征提取和分类等。例如,在数据处理中,可以利用MATLAB进行图像增强、辐射定标、大气校正等操作,以提高数据质量;在特征提取中,可以利用MATLAB进行图像分割、目标检测等操作,以提取出感兴趣的地物信息;在分类中,可以利用MATLAB进行分类算法的应用和性能评估,将地物分为不同的类别。 MATLAB具有丰富的图像处理函数和工具箱,如图像滤波、图像配准、图像插等,可以对遥感影像进行预处理和修复,提高图像质量和准确性。同MATLAB还支持矩阵运算、统计分析等功能,可以对遥感数据进行数据处理和统计分析,快速提取地表特征和信息。 总之,遥感数据处理利用MATLAB可以实现图像预处理、特征提取和分类等操作,帮助提取地表信息,对环境监测、资源调查等研究领域具有重要意义。 ### 回答3: 遥感数据处理是利用遥感技术和方法对卫星、航空等平台获得的遥感数据进行处理和分析的过程。MATLAB是一种专门用于科学计算和工程设计的高级编程语言和环境。在遥感数据处理中,MATLAB可以发挥较大的作用。 首先,MATLAB提供了丰富的图像处理和分析函数,可以对遥感影像进行预处理和后处理。包括读取、显示、保存遥感影像,进行图像增强、滤波、校正、配准等操作。同MATLAB还提供了许多影像处理和分析的工具箱,如图像处理工具箱、计算机视觉工具箱等,可以方便地实现各种遥感数据处理算法和方法。 其次,MATLAB具有灵活的编程能力和强大的数学计算功能。通过编写MATLAB脚本或函数,可以自定义实现各种遥感数据处理的算法和模型。例如,可以编写脚本实现自动化的遥感图像分类、目标检测和变化检测等任务。此外,MATLAB还支持矩阵运算、统计分析、数学建模等功能,可以应用于遥感数据处理的各个环节。 最后,MATLAB还提供了丰富的数据可视化工具。通过使用MATLAB的绘图函数和工具箱,可以将遥感数据处理的结果可视化展示,帮助用户更直观地理解和分析数据。同MATLAB还支持生成各种数据报告和图表,方便用户进行数据分析和结果展示。 总之,MATLAB是一种强大的工具,可以应用于遥感数据处理的各个方面,包括预处理、算法实现和结果可视化等。利用MATLAB进行遥感数据处理可以提高数据处理的效率和准确性,并帮助用户更好地理解和利用遥感数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值