利用OpenCV计算图像的垂直和水平积分投影
2012-02-18 22:35
483 查看
#include <cv.h> #include <highgui.h> #pragma comment( lib, "cv.lib" ) #pragma comment( lib, "cxcore.lib" ) #pragma comment( lib, "highgui.lib" ) int main() { IplImage * src=cvLoadImage("lena.jpg",0); // cvSmooth(src,src,CV_BLUR,3,3,0,0); cvThreshold(src,src,50,255,CV_THRESH_BINARY_INV); IplImage* paintx=cvCreateImage( cvGetSize(src),IPL_DEPTH_8U, 1 ); IplImage* painty=cvCreateImage( cvGetSize(src),IPL_DEPTH_8U, 1 ); cvZero(paintx); cvZero(painty); int* v=new int[src->width]; int* h=new int[src->height]; memset(v,0,src->width*4); memset(h,0,src->height*4); int x,y; CvScalar s,t; for(x=0;x<src->width;x++) { for(y=0;y<src->height;y++) { s=cvGet2D(src,y,x); if(s.val[0]==0) v[x]++; } } for(x=0;x<src->width;x++) { for(y=0;y<v[x];y++) { t.val[0]=255; cvSet2D(paintx,y,x,t); } } for(y=0;y<src->height;y++) { for(x=0;x<src->width;x++) { s=cvGet2D(src,y,x); if(s.val[0]==0) h[y]++; } } for(y=0;y<src->height;y++) { for(x=0;x<h[y];x++) { t.val[0]=255; cvSet2D(painty,y,x,t); } } cvNamedWindow("二值图像",1); cvNamedWindow("垂直积分投影",1); cvNamedWindow("水平积分投影",1); cvShowImage("二值图像",src); cvShowImage("垂直积分投影",paintx); cvShowImage("水平积分投影",painty); cvWaitKey(0); cvDestroyAllWindows(); cvReleaseImage(&src); cvReleaseImage(&paintx); cvReleaseImage(&painty); return 0; }
下面是代码运行的结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/02/6170d47f4a90a6c0f14813d1b58425c7.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/02/dbc7503437a09c1921beb5e83bfb0eb4.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/02/5507b60c2a0c691f419cbda16c54d4fd.gif)
相关文章推荐
- 利用OpenCV计算图像的垂直和水平积分投影
- 利用OpenCV计算图像的垂直和水平积分投影
- opencv学习---计算图像的水平积分投影和垂直积分投影
- 【OpenCV】计算图像的水平和垂直积分投影
- 使用OpenCV2.x计算图像的水平和垂直积分投影
- 使用OpenCV2.x计算图像的水平和垂直积分投影
- opencv学习---计算图像的水平积分投影和垂直积分投影
- 图像的水平与垂直积分投影
- 利用积分图像法快速计算Haar特征
- 图像投影特征图的波峰波谷查找的相关原理及利用差分遍历法查找波峰的OpenCV代码
- OpenCV之imgproc 模块. 图像处理(4)直方图均衡化 直方图计算 直方图对比 反向投影 模板匹配
- 如何理解图像像素点在水平方向和垂直的投影呢?
- 二、利用积分图像法快速计算Haar特征
- 用OpenCV实现图像的水平镜像(翻转)变换和竖直镜像(翻转)变换(垂直镜像变换)的源码
- 利用积分图像法快速计算Haar特征
- opencv-python图像水平投影
- 小赵学习Opencv(1)之载入图像及垂直水平反转
- 利用opencv函数对图像旋转后,按旋转偏移新计算新的图像外接四边形绘制
- 利用opencv函数计算图像的梯度幅度和梯度方向
- 【图像处理】利用积分图像法快速计算Haar特征