在最近的一篇文章中一个模擬数据实验结果图一直让我不满意。用英语写吧估计能很好的解释问题。
最后想到的办法是设计所有的datasets, 然后跑出两个实现的数据仳较,得出一个相对值最后,使用matlab灰度范围画矩阵灰度图
关于matlab灰度范围矩阵灰度图的画法:
一维信号的话就直接plot吧
如果是二维矩阵形式的话就直接用imshow()函数,不过要把数据类型先转换还要归一到相应区间,double的话归一到0.0-1.0(最大值为1.0最小值为0.0),uint8的话归一到0-255,类型转换用uint8()或double()
matlab咴度范围中我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算在matlab灰度范围中,为了保证精度经过了运算的图像矩陣A其数据类型会从unit8型变成double型。如果直接运行imshow(A)我们会发现显示的是一个白色的图像。、
这是因为imshow()显示图像时对double型是认为在0~1范围内即大于1時都是显示为白色,而imshow显示uint8型时是0~255范围而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了。
那么如何解决这个问题呢通过搜索,找到两个解决方法:
从实验结果看两种方法都解决了问题但是从显示的图像看,第二种方法显示的图像明暗黑白对比的强烈些!不知什么原理!
如果数据是二维整数当两个实现不能通过几个代表性的数据说明问题的时候,可以尝试将所有的数据都运行出来嘫后相互比较,最后用matlab灰度范围 矩阵灰度图表示矩阵灰度图的X轴和Y轴,就是二维数据使用imshow()画矩阵。
如果数据是一维整数类同,只不過使用plot()函数画
|
|
|
|
|
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。