反向投影
来源:互联网 发布:数据库物理设计图visio 编辑:程序博客网 时间:2024/05/29 14:39
原理说明:
以下为程序测试说明其工作原理:1.模板图像tempImg,测试图像testImg分别进行直方图统计 2.计算测试图像在模板图像直方图下的反向投影 3.归一化模板图像的直方图,在进行前一步(2)后又有什么结果。 实验结果如下截图:
// back_projection.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "opencv2/opencv.hpp"using namespace std;using namespace cv;int _tmain(int argc, _TCHAR* argv[]){Mat tempImg(3,4,CV_8UC1);tempImg=(Mat_<uchar>(3,4)<<4,11,5,8,6,7,9,10,11,10,9,11);cout<<"tempImg:"<<tempImg<<endl;Mat testImg(5,5,CV_8UC1);testImg=(Mat_<uchar>(5,5)<<0,1,1,1,3,4,10,11,6,10,5,8,9,10,9,7,4,8,11,8,10,8,9,11,10);cout<<"testImg:"<<testImg<<endl;MatND tempHist,testHist,VHist;int dims=1;float range[]={0,12};const float *ranges[]={range};int size=3;int channels=0;calcHist(&tempImg,1,&channels,Mat(),tempHist,1,&size,ranges);cout<<"tempHist:"<<tempHist<<endl;calcHist(&testImg,1,&channels,Mat(),testHist,1,&size,ranges);cout<<"testHist:"<<testHist<<endl;MatND backproj,normalbackpro;calcBackProject(&testImg,1,&channels,tempHist,backproj,ranges,1,true);cout<<"backprojection:"<<backproj<<endl;normalize(tempHist,tempHist,255,0,CV_MINMAX);calcBackProject(&testImg,1,&channels,tempHist,normalbackpro,ranges,1,true);cout<<"normalbackprojection:"<<normalbackpro<<endl;return 0;}
具体实施解析:
1.对tempImg进行直方图统计,bin分为了[0,3],[4,7],[8,11]三个组进行统计。
2.对于testImg里的每一个像素统计其属于哪一个区间内,例如第二行第二个位置处像素为10,查看后发现属于第二组。
3.对于tempImg的直方图来说第二组[4,7]的统计值为4,所以反向投影图中该位置像素为4,按此规律对tempImg中每一位置进行该操作赋值得到反向投影图。
0 0
- 反向投影
- 反向投影
- 反向投影
- 反向投影
- cvCalcBackProject-直方图反向投影
- 直方图反向投影
- opencv 反向投影
- OpenCV反向投影
- opencv 直方图反向投影
- opencv反向投影
- 直方图的反向投影
- 反向投影 calcBackProject
- 直方图的反向投影
- 反向投影的意义
- 图像反向投影
- 反向投影简介
- 直方图的反向投影
- opencv 直方图反向投影
- devexpress LayoutControl包含的LayoutGroup填充剩余的空间
- shell实战编程--定时清理日志shell编程
- 在学习安装nagios中所遇到的问题
- 前端的开始
- CCF之最大的矩阵(java)
- 反向投影
- 14(高级)CSS动画之:旋转星球
- Socket编程
- 使用common-fileUpload制作文件上传(DiskFileItemFactory方式)
- hadoop下linux集群间设置ssh免密登录
- 【LeetCode题解】链表Linked Lis
- [gridview] -- Column源码
- C++ primer学习之类型转换(1) 隐式转换
- pdf阅读器与迅捷pdf编辑器的使用方法