C++中cv::Mat中的data属性对应在python中是什么

发布于 2022-09-05 04:24:27 字数 831 浏览 20 评论 0

1, 因为我要使用一个dll,看C++的代码,是这样调用的

using namespace cv;

m_image_mat = imread ( full_file_name );
data = m_image_mat.data

这里有一个data属性

2,在python中,我刚开始用cv2包的imread加载图片,后来发现高版本的opencv3.2版本的导入图片是numpy array类型的数据,而不是mat类型的,网上查询的解决办法是使用cv包,转换array对象为cvmat对象

import cv2
import cv2.cv as cv

img = cv2.imread('1.jpg')
cvmat = cv.fromarray(img)

cvmat对象含有cvmat.width, cvmat.height, cvmat.step, 就是没有cvmat.data

AttributeError: 'cv2.cv.cvmat' object has no attribute 'data'

看起来C++ cv的Mat和python cvmat中定义的类还是有不同的

http://physics.nyu.edu/grierl...

我查看了uchar* cv::Mat::data的说明,“pointer to the data” 那么data的类型是什么样的呢

先谢谢了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别把无礼当个性 2022-09-12 04:24:28

我是使用PIL模块来将cv2.imread获取到的数据转换为图片数据的。
具体你说的data我不太清楚在Python里面怎么获取,应该就是指的图片数据了吧。
代码如下:

import cv2
from PIL import Image, ExifTags

cvimage = cv2.imread('1.jpg')
image = Image.fromarray(cvimage)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文