看到网上很多人使用
CvMat * Mdata; Mdata= cvCreateMat(100,100,CV_8UC3); //将矩阵数据赋值为0; cvZero(Mdata); //pData指针指向中间通道 uchar * pData = cvPtr2D(Mdata,1,0,NULL); |
这个程序段来访问图像的中间通道。不解cvPtr2D函数中的第二,三个参数值分别取1,0 怎么就是指向中间通道?!
我认为它只是指向坐标(1,0)元素的第一个通道,cvPtr2D( )函数返回一个指向所需元素的指针,那么第二通道的访问代码应该是
CvMat * Mdata; Mdata= cvCreateMat(100,100,CV_8UC3); //将矩阵数据赋值为0; cvZero(Mdata); //pData指针指向中间通道 uchar * pData = cvPtr2D(Mdata,i,j,NULL)+1; |
所以,对月题目:先定义一个数组,再使用函数cvPtr2D()将指针指向中间的通道(“绿色”),以给定的两个点画一个绿色的长方形的程序应该为:
#include "cv.h" #include "highgui.h" int main(int argc, char** argv){ IplImage *img; img = cvCreateImage(cvSize(100,100),IPL_DEPTH_8U,3); cvZero(img); //uchar* pData = cvPtr2D(img,1,0,NULL); //cvRectangle(img,cvPoint(20,5),cvPoint(40,20),cvScalar(0,255,0),1); int left = 20,top=5,right=40,bottom = 20; for( ;left<=right;left++) { *(cvPtr2D(img,left,top,NULL)+1)=255; *(cvPtr2D(img,left,bottom,NULL)+1)=255; } left=20; for( ;top<=bottom;top++) { *(cvPtr2D(img,left,top,NULL)+1)=255; *(cvPtr2D(img,right,top,NULL)+1)=255; } cvNamedWindow("source",CV_WINDOW_AUTOSIZE); cvShowImage("source",img); cvWaitKey(0); cvReleaseImage(&img); cvDestroyWindow("source"); }
被注解掉的部分则是典型的错误答案。
相关推荐
运用指向函数的指针实现一个通用函数调用两个函数,显示两个不同结果。 两个函数的作用是求两个不同的不定积分。
我知道函数指针是指向函数的指针,指针函数还是指一个函数的返回值是一个指针,但下面 的几道题还是感觉很迷惑。各位能否讲的详细点呢? (1)float(**def)[10] def是什么? (2)double*(*gh)[10] gh是什么? (3)double...
函数指针,就是指向函数的指针。在C++中,函数指针一般是指全局命名空间中的函数指针,类成员函数指针,与函数指针不同的是,类具有类域操作符,在声明类成员函数指针的时候,要指定成员函数返回值类型、类域操作符...
其中函数的起始地址称为该函数的入口地址,将此地址赋给另一个变量,则该变量为一个指向函数的指针变量。 函数型指针变量的定义: 类型 (*标识符)( ); 例如:int (*pf)( ); 类型:指针所指函数的返回值的类型。 ...
指针函数和函数指针变量指针 函数和函数指针变量
彻底理解指针,指针数组和数组指针,指针函数和函数指针.doc
已知每个函数在编译的时候,系统会分配给函数一个入口地址,函数名表示这个入口地址,定义指向函数的指针变量称之为函数的指针变量。 函数返回值可以是 int char float等,当然也可以是地址值,那么函数返回值是地址...
详细介绍了指向函数的指针 是如何实现的。
定义指向函数的指针,这种指针可以被赋值...
详解函数指针和指针函数 函数类型 (*指针变量名)(形参...“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面的“形参列表”表示指针变量指向的函数所带的参数列表。
函数指针和指针函数的区别,以及const的用法,指针常量,常量指针的用法
C语言指针函数和函数指针详细介绍.
函数指针和指针函数区别,腾讯1面的考题,它们的作用分别是什么?
1.普通函数指针指向普通函数 2.普通函数指向非静态成员函数 3. 类外部的 类函数指针 指向普通函数 4. 类外部的 类函数指针 指向成员函数 5. 类内部的 函数指针 指向成员函数 (类似于第2条) 6. 类内部的 函数指针 ...
本文叙述了函数指针和指针函数的区别,防止程序员混淆两者。
C语言中用指针指向函数的方法及其高级处理技巧的研究与应用,很好的东西!
c++的指针特性学习之函数指针,代码中给出了函数指针的声明方式和使用方式,供大家使用函数指针参考
里面包含: 普通函数指针,同一个类函数指针,不同类的函数指针的使用。
函数名与函数指针 一 通常的函数调用 一个通常的函数调用的例子: //自行包含头文件 void MyFun(int x); //此处的申明也可写成:void MyFun( int ); int main(int argc, char* argv[]) { MyFun(10); //这里是调用...
指针进阶之函数指针和函数指针数组