基于OpenCV的视频图像组态 (7) :轮子动画效果

来源:互联网 发布:snmp网络管理软件 编辑:程序博客网 时间:2024/04/30 12:07

轮子效果

bool __fastcall TCbwAnimationEffect_Wheel::BuildMaskMat(cv::Mat& destMat,    cv::Mat& srcMat, TRect displayRect) {    TRect wholeRect(0, 0, displayRect.right - displayRect.left,        displayRect.bottom - displayRect.top);    double cx = wholeRect.right / 2.0, cy = wholeRect.bottom / 2.0;    TCbwFloatPoint centerPoint(cx, cy);    double unitDegree = 360 / FPattern;    double deltaDegree = double(FCurrentIndex + 1) / FTotalFramesInOnePeriod * unitDegree;    BYTE * pDst = destMat.data;    for (int row = 0; row < destMat.rows; ++row)        for (int col = 0; col < destMat.cols; ++col) {            TCbwFloatPoint p(col, row);            double theta = p.ThetaToPoint(centerPoint);            if (FClockwiseFlag)                theta = 360 - theta;            bool inFlag = false;            for (int i = 0; i < FPattern; ++i) {                if (theta >= unitDegree * i && (theta - unitDegree * i) <=                    deltaDegree)                    inFlag = true;            }            *pDst++ = inFlag ? 255 : 0;        }    return true;}


演示效果

阅读全文
0 0
原创粉丝点击