gpt4 book ai didi

python - 与 Matlab 相比,在 python 中从 Matlab 的 .mat 中读取 cv::Mat 得到不同的结果

转载 作者:行者123 更新时间:2023-12-02 16:21:29 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





OpenCV giving wrong color to colored images on loading

(6 个回答)


5年前关闭。




阅读 cv::Mat来自 Matlab 的 .mat在 python 中得到与 Matlab 不同的结果,如下

import scipy.io as sio  
import numpy as np
data = sio.loadmat('image.mat')
img = data['img']
cv2.imshow('img', img)

图片如下:

the result using python to read mat

但在matlab中:
image = load('image.mat')
imshow(image.img)

结果如下:

enter image description here

似乎python在解析矩阵时出错了。

最佳答案

问题在于 Matlab 和 OpenCV 的默认颜色约定,OpenCV 使用 BGR颜色约定而不是 RGB颜色空间,所以为了让你的图像正确显示,你需要交换 B 和 R channel ,有多种方法可以做到这一点,根据 OpenCV 可以这样做:

img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) 

关于python - 与 Matlab 相比,在 python 中从 Matlab 的 .mat 中读取 cv::Mat 得到不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42733336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com