OpenCV mat* 图像 = (Mat*) 图像

     2023-02-21     46

关键词:

【中文标题】OpenCV mat* 图像 = (Mat*) 图像【英文标题】:OpenCV mat* image = (Mat*) image 【发布时间】:2014-08-30 08:41:55 【问题描述】:

您好,我是 OpenCV 和 C++ 的新手。我正在寻找使用 setMouseCallback 函数并这样做:

setMouseCallback("Window Name", functionName, &frame);

void functionName("int event, int x, int y, int flag, void* param")
Mat *image = (Mat*)param;
//other stuff here

我只是想问...为什么我必须放 (Mat*)param 而不仅仅是放 Mat *param。

提前致谢!

【问题讨论】:

【参考方案1】:

您在此示例中拥有的是显式类型转换(参见例如http://en.cppreference.com/w/cpp/language/explicit_cast)。 paramMat* image 的类型不同,因此您不能简单地将指针param 分配给image,它很可能具有与Mat* 不同的类型(请参阅juanchopanza 的问题)。所以你必须告诉编译器,即使指针类型不同,底层对象类型也与分配给Mat *兼容。

您提到的另一件事:Mat *param 具有完全不同的含义,这意味着您正在创建一个名为 param 的新 Mat 指针。

【讨论】:

P.S.虽然您正在使用的类是 OpenCV 类,这可能对类型转换感兴趣,但您的实际问题 (T*) paramT *param 是一个非常通用的 c/c++ 问题,而不是特定于 OpenCV 的

将 Mat 图像转置为更大的 Mat 图像,Opencv

】将Mat图像转置为更大的Mat图像,Opencv【英文标题】:TransposingaMatimageintoalargerMatimage,Opencv【发布时间】:2014-03-3104:54:25【问题描述】:我编写了一个函数来获取一个Mat图像并将其转置到一个大小为三倍的空白图像的中心。我已... 查看详情

使用 openCV(.release() 和 =Mat() 释放 Mat 图像不起作用)

】使用openCV(.release()和=Mat()释放Mat图像不起作用)【英文标题】:ReleasingMatimageswithopenCV(.release()and=Mat()doesn\'twork)【发布时间】:2014-03-0117:57:20【问题描述】:我试图从我的程序中释放一个Mat图像,但是,无论我如何尝试,当我单... 查看详情

opencv中图像的格式mat图像深度

opencv中图像的格式Mat有图像的定义,图像深度、类型格式等,其中Mat的参数depth为深度,深度反应出图像颜色像素值;  查看详情

无法同时显示五个 Mat 图像(C++、OpenCV)

】无法同时显示五个Mat图像(C++、OpenCV)【英文标题】:Can\'tshowfiveMatimagesallatonce(C++,OpenCV)【发布时间】:2014-05-0118:34:36【问题描述】:在下面的代码中,使用了一个方法来输入一个Mat图像并输出一个编辑后的​​Mat图像。代码... 查看详情

在 OpenCV 中从 Mat 对象构建图像

】在OpenCV中从Mat对象构建图像【英文标题】:buildinganimagefromMatobjectinOpenCV【发布时间】:2013-09-0408:53:12【问题描述】:我正在使用OpenCV,我有一个大小为1024*1024的Mat对象(从照片中提取并进行操作),值在[1..25]范围内。例如:Ma... 查看详情

如何访问二进制 Mat 图像中的像素值?

...间】:2013-10-2409:49:14【问题描述】:我正在使用VisualC++和OpenCV。我想问,OpenCV中如何访问Mat中的像素元素。我的意思是,我想在二进制Mat图像中验证一个像素是1还是0...图像是二进制阈值...如何使用x和y(或行和列)访问像素并... 查看详情

OpenCV,Dlib - Mat 对象输出为黑色图像

】OpenCV,Dlib-Mat对象输出为黑色图像【英文标题】:OpenCV,Dlib-Matobjectoutputedasblackimage【发布时间】:2016-05-3001:55:08【问题描述】:我有4通道Mat对象。我正在尝试(作为流程的一部分)将其转换为dlib数据(进行一些更改),然后再... 查看详情

如何强制opencv图像(cv :: Mat)释放其内存

】如何强制opencv图像(cv::Mat)释放其内存【英文标题】:Howtoforceanopencvimage(cv::Mat)toreleaseitsmemory【发布时间】:2016-03-3108:54:58【问题描述】:我有这样的课程:classMyClasscv::Matimage;public:init()image=imread("test.jpg");cv::MatgetImage()returnimag... 查看详情

将二进制图像直接读取到 OpenCV Mat / numpy mat

】将二进制图像直接读取到OpenCVMat/numpymat【英文标题】:ReadingabinaryimagedirectlytoOpenCVMat/numpymat【发布时间】:2020-10-3019:12:07【问题描述】:通过一些http请求,我已经能够以二进制形式接收图像b\'\\xff\\xd8\\xff\\xe0\\x00\\...和:withopen(... 查看详情

OpenCV 用 Mat 替换 IplImage

】OpenCV用Mat替换IplImage【英文标题】:OpenCVreplaceIplImagebyMat【发布时间】:2014-02-1411:46:10【问题描述】:我正在使用OpenCV检测多张图像中的人脸,然后将人脸图像(矩形)保存为jpg文件。但由于我有很多图像,我得到了内存不足... 查看详情

OpenCV Mat 图像转黑白错误

】OpenCVMat图像转黑白错误【英文标题】:OpenCVMatimagetoblackandwhiteerror【发布时间】:2016-05-0113:35:52【问题描述】:我正在尝试处理目录中的图像,使其成为黑白(灰度),然后将其写入另一个文件。我已经使用OpenCV的C库完成了,... 查看详情

opencv(一)mat基本操作以及灰度图转化

参考技术A开始写OpenCV这篇文章的时候,不由想到,我的大学计算机图形学的第一门实操课程就是灰度转化,拉普拉斯锐化等。其中灰度图的转化,是计算机图形学基础中基础,这里就顺着OpenCV的灰度的转化,来看看OpenCV一些基... 查看详情

opencv:mat,iplimage,cvmat类型转换

...示图像,三者区别如下Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。IplImage类型... 查看详情

图像操作后 OpenCV Mat::data 为零

】图像操作后OpenCVMat::data为零【英文标题】:OpenCVMat::dataiszeroafterimageoperation【发布时间】:2014-05-2718:57:38【问题描述】:我在OpenCVC++中有一个问题。我从文件中读取图像并使用阈值函数来获取二进制图像。之后我想访问阈值图... 查看详情

Opencv Mat 内存管理

】OpencvMat内存管理【英文标题】:OpencvMatmemorymanagement【发布时间】:2014-04-2315:17:20【问题描述】:内存管理对于图像类至关重要。在opencv中,图像类是cv::Mat,它有一个精巧的内存管理方案。假设我已经有了自己的图像类SelfImage... 查看详情

opencv基础---图像存储器(mat类)(代码片段)

...   学习图像处理首先要学会如何操作矩阵信息,在OpenCV中提供了一个Mat类用于存储矩阵数据。    Mat类用来保存矩阵类型的数据信息,包括向量,矩阵,灰度或彩色图像等数据。Mat类分为矩阵头和指向存储数... 查看详情

将 python opencv mat 图像转换为 tensorflow 图像数据

】将pythonopencvmat图像转换为tensorflow图像数据【英文标题】:Convertpythonopencvmatimagetotensorflowimagedata【发布时间】:2017-03-0911:01:04【问题描述】:我想用python和opencv从视频中捕获帧,然后用tensorflow对捕获的Mat图像进行分类。问题是... 查看详情

安卓上的 OpenCV,Mat.rows() = 0

】安卓上的OpenCV,Mat.rows()=0【英文标题】:OpenCVonandroid,Mat.rows()=0【发布时间】:2018-09-2819:26:11【问题描述】:我有一个Uri指向我选择的图像。我想将图像存储在Mat变量中,对其进行编辑并将其显示在ImageView中。到目前为止,我... 查看详情