您的位置:首页 > 其它

20160611

2016-06-11 19:57 302 查看
1.http://zhidao.baidu.com/link?url=CWwkRugDfeljFce1Bf_dTGXaxYHIUuJ1M78SO8fG0J67QVV6HW8ovosz9_q8eQ104xbaabs8V5gUJcPWp4VId4o55N3Mps7t7DqZKSpsoDm

opencv 中函数定义中 mat& a 与mat a 的区别在哪?

Mat a,意思是创建一个矩阵a。。。。。。Mat &a的意思是创建一个矩阵a的引用,一般用于传递函数的参数上面,比如输入一个图像矩阵a,然后在a上面进行诸如二值化,颜色缩减等函数之后再imshow(a)就会直观的显示出处理之后的图像,相当于克隆了一个a图像矩阵,在a上面怎么操作,源图像也会相应的变化。
2.ERROR
IntelliSense:  应用了多个从 "cv::Mat" 到 "<error-type>" 的转换函数: 
            函数 "cv::Mat::operator CvMat() const"
            函数 "cv::Mat::operator CvMatND() const"
            函数 "cv::Mat::operator IplImage() const"	e:\workkkkkkk\vs2013\HaniaojunImagePro\HaniaojunImagePro\HaniaojunImagePro.cpp	77	18	HaniaojunImagePro
solve:应用子函数时RGB无类型;定义子函数放在调用之前比较保险;
3. IntelliSense:  函数调用中的参数太多改函数名字4.
s=cvGet2D(img,i,j);//访问RGB图像img图像的i行j列元素

B G R的值分别为s.val[0]    s.val[1]    s.val[2]
-2
unsigned char  b = (unsigned char )srcimage.GetImage()->imageData[0];
inline void cv3DoubleMatPrint( const CvMat* mat )
{
int i, j;
for( i = 0; i < mat->rows; i++ )
{
for( j = 0; j < mat->cols; j++ )
{
CvScalar scal = cvGet2D( mat, i, j );
printf( "(%f,%f,%f) ", scal.val[0], scal.val[1], scal.val[2] );
}
printf( "/n" );
}
}-3
假如你存储的是string类型的 

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: