首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >边沿变化率

边沿变化率
EN

Stack Overflow用户
提问于 2013-05-02 08:02:23
回答 1查看 1.3K关注 0票数 0

我正在研究视频镜头检测的边缘变化率算法。我已经掌握了算法的基本思想,并使用OpenCV实现了其中的一部分,其中包括使用坎尼算法识别边缘。

但我对如何找到两个视频帧之间的边缘像素和进入和退出像素的数量感到困惑。我正在做OpenCV,请帮助我做一些代码或逻辑或OpenCV函数

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-05-02 22:19:02

就我所理解的problem...If而言,您的灰度图像是frameg,那么下面的API将生成带边缘的图像。

代码语言:javascript
运行
复制
Canny(frameg,frameEdge,50,150,3,false);

其中frameEdge是包含边缘的图像。frameEdge是一个二进制图像,边缘像素为白色(255),其他像素为黑色(0)。

代码语言:javascript
运行
复制
for(int r = 0;r<frameEdge.rows;r++)
  {
    for(int c=0;c<frameEdge.cols;c++)
     {
      if( *(frameEdge.data + frameEdge.cols*r + c) == (uchar)255 )
            {
               Point edgepixel;
               edgepixel.x = c; edgepixel.y = r;
               myedges.push_back(edgepixel);
            }
     }
  } 

因此,您可以轻松地扫描图像并找到白色像素并存储它们的位置。这样你就可以找到边缘像素。创建一个数组vector<Point> myedges来存储边缘像素位置。对视频中的每一帧执行此操作,并进行必要的比较。注意:我已经将图片作为cv::Mat。您也可以使用IplImage

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16328345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档