2个多边形的关系判断和相交面积计算


#include "stdafx.h"
#include <cv.h>
#include <highgui.h>

IplImage *Image1;

CvPoint PointArray1[6];
CvPoint PointArray2[4];
CvScalar Color;
int PolyVertexNumber;
int Shift;
int main()
{
CvSize ImageSize1 = cvSize(1000,700);
Image1 = cvCreateImage(ImageSize1, IPL_DEPTH_8U, 3);
IplImage* Image2 = cvCreateImage(ImageSize1, IPL_DEPTH_8U, 3);
IplImage* Image3 = cvCreateImage(ImageSize1, IPL_DEPTH_8U, 3);
IplImage* Image4 = cvCreateImage(ImageSize1, IPL_DEPTH_8U, 1);
PointArray1[0]=cvPoint(200,200);
PointArray1[1]=cvPoint(400,150);
PointArray1[2]=cvPoint(650,230);
PointArray1[3]=cvPoint(800,300);
PointArray1[4]=cvPoint(900,550);
PointArray1[5]=cvPoint(100,500);

PointArray2[0]=cvPoint(20,20);
PointArray2[1]=cvPoint(30,20);
PointArray2[2]=cvPoint(30,30);
PointArray2[3]=cvPoint(20,30);

CvScalar Color=CV_RGB(0,255,0);
PolyVertexNumber=6;
Shift=0;

cvFillConvexPoly(Image1,PointArray1,PolyVertexNumber,Color,CV_AA,Shift);


Color=CV_RGB(0,0,255,);
cvFillConvexPoly(Image2,PointArray2,4,Color,CV_AA,Shift);

cvAbsDiff(Image1,Image2,Image3);

cvThreshold(Image3,Image3,250,255,CV_THRESH_BINARY );
//
cvCvtColor(Image3,Image4,CV_BGR2GRAY);
cvThreshold(Image4,Image4,50,255,CV_THRESH_BINARY );
CvMemStorage *storage=cvCreateMemStorage(0);
CvSeq *contours=0;

int rs = cvFindContours(Image4,storage,&contours,sizeof(CvContour),
CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
double rr=0;
if (rs==1)
{
rr= cvContourArea(contours);
}

cvNamedWindow("FillConvexPoly",0);
cvShowImage("FillConvexPoly",Image1);
cvShowImage("FillConvexPoly2",Image2);
cvShowImage("FillConvexPoly3",Image3);
cvWaitKey(0);
//cvSaveImage("poly.jpg",Image1);
cvReleaseImage(&Image1);
return 0;
}

转载于:https://www.cnblogs.com/ahuo/archive/2013/05/02/3055684.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值