#include <highgui.h>
#include <cv.h>
int main()
{
IplImage *src=cvLoadImage("D:/a_project/image/1.jpg",0);
cvThreshold(src,src,50,255,CV_THRESH_BINARY_INV);
IplImage *painty=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);
cvZero(painty);
int *colheight =new int[src->width];
memset(colheight,0,src->width*4);
CvScalar value;
for(int i=0;i<src->width;i++)
for(int j=0;j<src->height;j++)
{
value=cvGet2D(src,j,i);
if(value.val[0]==0)
{
colheight[i]++; //统计每列的白色像素点
}
}
for(int i=0;i<src->width;i++)
for(int j=0;j<colheight[i];j++)
{
value.val[0]=255;
cvSet2D(painty,j,i,value); // 将 src[j][i]设置成黑色
}
cvNamedWindow("C",1);
cvNamedWindow("l",1);
cvShowImage("C",src);
cvShowImage("l",painty);
cvWaitKey(0);
}
图像水平方向的投影
最新推荐文章于 2024-03-18 14:26:11 发布