20160611

来源:互联网 发布:网络四大名著之首 编辑:程序博客网 时间:2024/06/05 17:24
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.cpp7718HaniaojunImagePro
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
 int main()
 
    {    
 
        Mat img = imread("lena.jpg");
 
        imshow("Lena Original", img);
 
        for (int row = 0; row < img.rows; row++)
 
        {
 
            for (int col = 0; col < img.cols; col++)
 
            {    
 
                /* 注意 Mat::at 函数是个模板函数, 需要指明参数类型, 因为这张图是具有红蓝绿三通道的图,
 
                   所以它的参数类型可以传递一个 Vec3b, 这是一个存放 3 个 uchar 数据的 Vec(向量). 这里
 
                   提供了索引重载, [2]表示的是返回第三个通道, 在这里是 Red 通道, 第一个通道(Blue)用[0]返回 */
 
                if(img.at<Vec3b>(row, col)[2] > 128)
 
                    img.at<Vec3b>(row, col) = Vec3b(255, 255, 255);
 
            }
 
        }
 
        imshow("Lena Modified", img);
 
        cvWaitKey();
 
        return 0;
 
    }
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

int main(){
    vector<int> ivec;    //定义一个向量
    ivec.push_back(1);
    vector<int>::iterator it = ivec.begin();    //使用迭代器
    cout<<*it<<endl;    //输出向量中的首元素
    return 0;
for(int i=0;i<vector.size();i++)
{
   String str = (String)vector.get(i);
  
}

假如你存储的是string类型的 

0 0
原创粉丝点击