openCV编程思想总结(1)

  • 开始

最近发现自己写代码最难得就是开头,而且就算开头了,写到一半会发现自己的代码思想十分简单,运行效率低下,然后看别人写的代码,就会有种顿悟的感觉,然后自己的代码就相形见绌。所以总结写别人的代码中的精妙之处,所谓君子性非异也,善假于物也。

  • openCV矩阵操作举例
    分析下面的代码:
Mat tsmResp(1,img_roi.rows, CV_32FC1, Scalar::all(1));
Mat t1, resp;
img_roi.convertTo(t1, CV_32FC1);//img_roi是一副二值图
resp = tsmResp * t1;
resp /= 255.0; 
GaussianBlur(Mat(resp), resp, Size(21, 21), 8);

分析:上面代码的功能是,统计img_roi图中每一列中像素值为255的操作,并将每一列的统计结果存储在矩阵resp中,img_roi有cols列,所以最后得到的矩阵resp为一个1行cols列的矩阵。

自己肯定会逐像素操作,那样Mat大了以后,统计速度就会很慢,而且循环还会跟多。

你可能感兴趣的:(图像处理,openCV)