我正在将一个应用程序从 matlab 重写为 C++。问题出在这一行
imagesc(proj_data.log_P0,m+s*[-3,3])
proj_data.log_P0 是一些具有浮点值的矩阵,所以我在 C++ 和 OpenCV 中所做的是将该矩阵规范化为 OpenCV 可以显示的值(范围从 0 到 1)。该部分有效,但造成问题的部分是 clims(粗体)部分 imagesc(proj_data.log_P0,m+s*[-3,3])。据我所知,clims 部分正在改变颜色图的范围,在 OpenCV 中有什么办法可以做到这一点吗?这是一张灰度图像。
最佳答案
我找到了解决方案。在进行归一化之前,我只是找到所有大于 m+s*3 的矩阵元素并将它们更改为 m+s*3,所有小于 m+s*-3 的元素并将它们更改为 m+s*-3 .在对矩阵元素执行此操作后,我将归一化范围从 0 到 1。结果与 MATLAB 的 imagesc 和 clims 中的结果相同。
关于Matlab imagesc 爬到 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17385629/