关于使用matlab 灰度矩阵问题

本文介绍了一种利用Matlab进行实验结果可视化的有效方法。通过运行所有数据集并使用灰度矩阵对比不同实现方案,最终确定最佳方案。文章还详细介绍了如何在Matlab中正确使用imshow()函数来显示图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在最近的一篇文章中,一个模拟数据实验结果图一直让我不满意。用英语写吧,估计能很好的解释问题。

 In the figure, there are in total 4 implementations. Among them, the two implementations are from the one design idea and the other two implementations are from another design idea.  Although the datasets selected show the better one of each two implementations, it cannot show which is the best among the 4 implementations.

   I tried to find the results from the final figure. But it was really hard since the datasets were not enough. Later, I find one solution is that I run all the datasets and use grey matrix to compare the two implementations.

  最后想到的办法是,设计所有的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型数据就被不正常得显示为白色图像了。

 那么如何解决这个问题呢?通过搜索,找到两个解决方法:

         imshow(I/256); -----------将图像矩阵转化到0-1之间
         imshow(I,[]);       -----------自动调整数据的范围以便于显示 (不明白原理!)

 从实验结果看两种方法都解决了问题,但是从显示的图像看,第二种方法显示的图像明暗黑白对比的强烈些!不知什么原理!

 

 

总结如下:

如果数据是二维整数,当两个实现不能通过几个代表性的数据说明问题的时候,可以尝试将所有的数据都运行出来,然后相互比较,最后用matlab 矩阵灰度图表示。矩阵灰度图的X轴和Y轴,就是二维数据。使用imshow()画矩阵。

如果数据是一维整数,类同,只不过使用plot()函数画。

 

转载于:https://www.cnblogs.com/xingzifei/p/6890461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值