首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过在opencv中应用gaussianblur,为什么需要增加线程参数?

通过在opencv中应用gaussianblur,为什么需要增加线程参数?
EN

Stack Overflow用户
提问于 2013-09-03 11:13:07
回答 1查看 744关注 0票数 0

上面的图像是检测迷宫的一个例子,在这个例子中,我发现了一个问题--使用GaussianBlur、同时使用阈值和只使用线程保持有很大的不同。例如,

代码语言:javascript
复制
cvtColor(img,img,CV_RGB2GRAY);
threshold(img,img,10,255,CV_THRESH_BINARY); 

它的工作原理是原始图像。但如果在阈值前应用高斯模糊,阈值参数设置为10,则整个图像为白色。

代码语言:javascript
复制
cvtColor(img,img,CV_RGB2GRAY);
GaussianBlur(img,img,Size(3,3),0);
threshold(img,img,10,255,CV_THRESH_BINARY);

它只起作用直到我把阈值参数提高到100,

代码语言:javascript
复制
GaussianBlur(img,img,Size(3,3),0);
threshold(img,img,100,255,CV_THRESH_BINARY);

为什么只有GaussianBlur才会有很大的不同,你能帮我解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 12:03:00

我将首先从一些常见的提示开始,因为它们会立即解决您的问题。

  • 显示您的“中间”结果。这有助于了解正在发生的事情。
  • 阅读您正在使用的函数的文档和教程

话虽如此,但正在发生的是完全预期的行为。模糊(如高斯滤波器)图像减少了像素在某些部分的值,而在其他部分则增加了像素值。因为您使用的是二进制阈值,这些值将变成黑色或白色。

请参阅下面的链接,它们准确地解释了您正在使用的每个函数,以及如何使用它们:

  • filter.html
  • hats.html
  • http://docs.opencv.org/doc/tutorials/imgproc/threshold/threshold.html
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18590831

复制
相关文章

相似问题

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