首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenCV -图像边缘强度的计算

OpenCV -图像边缘强度的计算
EN

Stack Overflow用户
提问于 2014-11-20 17:57:05
回答 1查看 1.6K关注 0票数 1

我是图像处理的新手,我需要计算图像中的边缘的强度。假设您有一个图像,并在该图像中添加模糊效果。这两幅图像边缘的强度是不同的。我需要分别计算这两个图像的边缘强度。

到目前为止,我已经得到了精明的边缘检测图像使用下面的代码。

代码语言:javascript
运行
复制
  Mat src1;
  src1 = imread("D.PNG", CV_LOAD_IMAGE_COLOR);
  namedWindow("Original image", CV_WINDOW_AUTOSIZE);
  imshow("Original image", src1);
  Mat gray, edge, draw;
  cvtColor(src1, gray, CV_BGR2GRAY);
  Canny(gray, edge, 50, 150, 3);
  edge.convertTo(draw, CV_8U);
  namedWindow("image", CV_WINDOW_AUTOSIZE);
  imshow("image", draw);
  waitKey(0);
  return 0;

有什么方法来计算这个边缘图像的强度吗..?

EN

回答 1

Stack Overflow用户

发布于 2014-11-21 18:11:21

mean会给你图像的平均值。如果您像上面一样使用Canny,您可以这样做:

代码语言:javascript
运行
复制
Scalar pixelMean = mean(draw);

要获得边缘像素的平均值,还可以使用图像作为掩码:

代码语言:javascript
运行
复制
Scalar edgeMean = mean(draw, draw);

不幸的是,由于Canny将所有边缘像素设置为255,所以您的平均值始终是255。如果这是您要寻找的度量,您可能需要使用Sobel (在高斯模糊之后)并计算梯度以获得相对的边缘强度。

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

https://stackoverflow.com/questions/27046357

复制
相关文章

相似问题

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