opencv c++实用操作

像素遍历

对单通道图像的遍历处理

For( int i =0 ; i < grayim.rows; i++)
For(int j = 0; j<grayim.cols; j++)
Grayim.at<uchar>(i,j) = 100;

对三通道图像的遍历处理

For(int i=0; i < colorim.rows; i++)
For(int j=0; j < colorim.cols; j++)
{
Vec3b tmp;
Tmp[0] = i%255;
Tmp[1] = j%255;
Tmp[2] = 0;
Colorim.at<Vec3b>(i,j) = tmp;
}

那么问题就来了,我如何知道矩阵是几个通道,里面的元素是如何存储的呢?
通过Mat::tpye()可以查到一个整数,根据这个整数查表可以确定到底是什么类型,再查表可以知道如何通过at来访问,详情参见博客

生成鸟瞰图

get_ipm.cpp
注意:有时生成的ipm图特别小,几乎看不到。
这时参见
其中要注意objPTs 与 imgPts 的四个点的顺序对应关系

posted @ 2017-03-04 18:50  fariver  阅读(342)  评论(0编辑  收藏  举报