没有合适的资源?快使用搜索试试~ 我知道了~
OpenCV计算图像的水平和垂直积分投影
0 下载量 57 浏览量
2021-01-20
06:46:06
上传
评论
收藏 136KB PDF 举报
温馨提示
试读
3页
本文实例为大家分享了OpenCV计算图像的水平和垂直积分投影的具体代码,供大家参考,具体内容如下 #include <cv> #include <highgui> #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); cvThres
资源详情
资源评论
资源推荐
OpenCV计算图像的水平和垂直积分投影计算图像的水平和垂直积分投影
本文实例为大家分享了OpenCV计算图像的水平和垂直积分投影的具体代码,供大家参考,具体内容如下
#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);
weixin_38635323
- 粉丝: 9
- 资源: 955
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0