opencv学习笔记1:CV_MAT_ELEM_PTR与CV_MAT_ELEM的用法
2015-01-09 17:01
666 查看
从CvMat矩阵中得到一个元素最简单的方法就是利用CV_MAT_ELEM宏,这个宏包含4个参数,分别是传入矩阵,待提取的元素的类型,行数和列数。
而CV_MAT_ELEM_PTR宏包含3个参数,分别是传入矩阵,行数和列数,返回指定元素的指针。与CV_MAT_ELEM相比,后者在解引用之前将其转换成适当的数据类型,可以同时实现读取和设置元素的功能。
比如:
而CV_MAT_ELEM_PTR宏包含3个参数,分别是传入矩阵,行数和列数,返回指定元素的指针。与CV_MAT_ELEM相比,后者在解引用之前将其转换成适当的数据类型,可以同时实现读取和设置元素的功能。
比如:
CvMat* mat = cvCreateMat(3,3,CV_8UC1); //创建无符号char型单通道3*3矩阵 *((char*)CV_MAT_ELEM_PTR(*mat,0,0)) = 1; <span style="font-family: Arial, Helvetica, sans-serif;">//</span><span style="font-family: Arial, Helvetica, sans-serif;">CV_MAT_ELEM_PTR宏获取mat矩阵第0行第0列元素的指针后,将其转换成char*,解引用后在赋值1</span> *((char*)CV_MAT_ELEM_PTR(*mat,0,1)) = 2; *((char*)CV_MAT_ELEM_PTR(*mat,0,2)) = 3; *((char*)CV_MAT_ELEM_PTR(*mat,1,0)) = 4; *((char*)CV_MAT_ELEM_PTR(*mat,1,1)) = 5; *((char*)CV_MAT_ELEM_PTR(*mat,1,2)) = 6; *((char*)CV_MAT_ELEM_PTR(*mat,2,0)) = 7; *((char*)CV_MAT_ELEM_PTR(*mat,2,1)) = 8; *((char*)CV_MAT_ELEM_PTR(*mat,2,2)) = 9; int var; var = CV_MAT_ELEM(*mat,char,0,1); //<span style="font-family: Arial, Helvetica, sans-serif;">CV_MAT_ELEM宏获取mat矩阵第0行第0列元素</span> cout<<"var="<<endl<<var<<endl;
相关文章推荐
- OpenCV学习笔记 cv.Mat 与 .txt 文件数据的读写操作
- 【OpenCV学习笔记】【类型转换】一(IplImage和cv::Mat的类型相互转换)
- OpenCv学习笔记(二)—cv::Mat学习
- Opencv2 学习笔记<一>:cv::Mat数据访问方式
- OpenCV学习笔记 cv.Mat 与 .txt 文件数据的读写操作
- OpenCv学习笔记(二)—cv::Mat学习
- OpenCV学习笔记09--通过cvPtr2D或指针算法绘制图形
- openCv学习笔记(二)—cv::Mat学习
- OpenCV学习笔记09--通过cvPtr2D或指针算法绘制图形
- OpenCV学习笔记 cv.Mat 与 .txt 文件数据的读写操作
- openCV学习笔记(7):cvRectangle与cv::rectangle的用法
- openCv学习笔记—cv::Mat学习
- OpenCV学习笔记 cv.Mat 与 .txt 文件数据的读写操作
- OpenCv学习笔记(二)—cv::Mat学习
- 【OpenCV学习笔记】二、深入了解 cv::Mat
- OpenCv学习笔记(二)—cv::Mat学习
- OpenCV学习笔记 cv.Mat 与 .txt 文件数据的读写操作
- opencv学习笔记7 cvResize用法
- OpenCV学习笔记(四) Mat的简单操作
- OpenCV学习笔记(三)——Mat,图像的新容器