2013年11月9日

OpenCV学习(26) 直方图(3)

摘要: 本章中我们学习一下通过backproject直方图,得到一副图像中每个像素属于该直方图的概率。在下边原始图中(左图),我们框选了一块四边形的区域,计算该区域的灰度直方图,然后通过下面的函数calcBackProject,计算图像src中每个像素在直方图中的概率,最终的结果在result中,result中每个像素表示该像素在直方图中的概率,我们对得到的结果进行二值化,就得到下边右图的结果。 我们框选了一块白云区域,但从背投影结果中,海浪的边缘在直方图中的概率也很高,这是因为它们的灰度比较相似,如果我们只想白云的位置,最好使用三通道的直方图,然后背投影。 cv::calcBackProject(. 阅读全文

posted @ 2013-11-09 17:44 迈克老狼2012 阅读(1222) 评论(0) 推荐(0)

OpenCV学习(25) 直方图(2)

摘要: 在OpenCV中,也可以对三通道的图像,比如BGR,HSV等计算直方图。方法和计算单通道图像直方图相似,下面的代码描述了如何计算一个BGR三通道图像的直方图,需要注意的是,因为是三通道,每个通道取值都是[0,255],所以bin的数目达到了256*256*256,这时如果使用普通三维矩阵输出直方图结果,需要很大的空间,所以我们通常使用稀疏矩阵来保存输出结果。因为稀疏矩阵只保存非零值,这样可以节省存储空间。int main( int argc, char** argv ) { Mat src, dst; /// 打开图像 src = imread( "../lenn... 阅读全文

posted @ 2013-11-09 14:01 迈克老狼2012 阅读(794) 评论(0) 推荐(0)

导航