- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对emgu完全陌生。我一直在寻找解决此问题的方法,但找不到任何解决方案。我正在尝试使用内置的自适应阈值函数对给定图像进行阈值处理,但程序无一异常(exception)地退出
代码 :
public Image<Gray, byte> AdaptiveThreshold(Image<Bgr, byte> bmp, int windowSize)
{
Image<Gray, byte> gray = new Image<Gray, byte>(bmp.ToBitmap());
Image<Gray, byte> bw = gray.ThresholdAdaptive(new Gray(255), Emgu.CV.CvEnum.ADAPTIVE_THRESHOLD_TYPE.CV_ADAPTIVE_THRESH_MEAN_C, Emgu.CV.CvEnum.THRESH.CV_THRESH_OTSU, windowSize, new Gray(0.03));
return bw;
}
this.pictureBox1.Image = r.AdaptiveThreshold(this.bmp, 15).ToBitmap(); // here where the application exit with no error and with no output in pictureBox1
r is an object of class which contains AdaptiveThreshold defined above
最佳答案
似乎由于某种原因,在使用 Emgu.CV.CvEnum.THRESH.CV_THRESH_OTSU
时应用程序确实退出了。作为自适应阈值的阈值方法。对此的确切原因我还不得而知。
虽然通过阅读 文档 关于自适应阈值功能的 Open CV 我注意到这不是传递给此函数的有效值。见 this页:
参数:
源 – 源 8 位单 channel 图像。
目的地 – 与 src 大小和类型相同的目标图像。
最大值 – 分配给条件为的像素的非零值
使满意。请参阅下面的详细信息。
自适应方法 – 要使用的自适应阈值算法,ADAPTIVE_THRESH_MEAN_C 或 ADAPTIVE_THRESH_GAUSSIAN_C。请参阅下面的详细信息。
阈值类型 – 阈值类型,必须是 THRESH_BINARY 或 THRESH_BINARY_INV 。
blockSize – 用于计算像素阈值的像素邻域的大小:3、5、7 等。
中号 – 从平均值或加权平均值中减去常数(详见下文)。通常,它是正数,但也可能为零或负数。
所以你必须调整你用过的thresholdType
到Emgu.CV.CvEnum.THRESH.CV_THRESH_BINARY
或 Emgu.CV.CvEnum.THRESH.CV_THRESH_BINARY_INV
让您的功能正常工作。
关于c# - Emgu 在调用 AdaptiveThreshold 函数后意外退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188897/
threshold:固定阈值二值化, ret, dst = cv2.threshold(src, thresh, maxval, type) src: 输入图,只能输入单通道图像,
# Read image in grayscale mode img = cv2.imread(inp_pic,0) # Median Blur and Gaussian Blur to re
我对emgu完全陌生。我一直在寻找解决此问题的方法,但找不到任何解决方案。我正在尝试使用内置的自适应阈值函数对给定图像进行阈值处理,但程序无一异常(exception)地退出 代码 : public
我正在尝试对图像进行自适应阈值处理,但出现此错误: OpenCV Error: Assertion failed (src.type() == CV_8UC1) in adaptiveThreshol
我正在尝试通过 openCV 捕获视频,然后对视频应用自适应阈值处理(以转换为黑白)。问题是这段代码经常抛出错误。我正在研究自适应阈值函数中的最后两个数字。 cv2.error:/tmp/opencv
我用过openCV python,遇到了一个错误。 img_blur = cv2.medianBlur(self.cropped_img,5) img_thresh_Gaussian = cv2.ad
我尝试使用这两种方法,但自适应阈值似乎给出了更好的结果。我用过 cvSmooth( temp, dst,CV_GAUSSIAN,9,9, 0); 在原始图像上,只有我使用了阈值。 有什么我可以使用
我有一个关于在 C++ 中使用 OpenCV 的 adaptiveThreshold 函数的问题。 (这是 documentation 。) void adaptiveThreshold(InputA
我正在尝试做一个自适应阈值: cv::Mat mat = cv::imread(inputFile); cv::cvtColor(mat, mat, CV_BGR2GRAY); cv::adaptiv
我想使用 adaptiveThreshold来自 OpenCV 的函数,以便为 vector 中的值确定适当的局部阈值. adaptiveThreshold在 docs 中指定如下: void ada
我是一名优秀的程序员,十分优秀!