如何在opencv中使用OTSU阈值 - 输入源

时间:2013-12-10 13:29:50

标签: c++ opencv

据我所知,这是在opencv中使用otsu的命令:

cvThreshold(src, dst, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);

但是,我不明白src和dst是什么,在opencv网站上解释为:

输入数组(单通道,8位或32位浮点)。

什么是8位或32位浮点单通道阵列?

http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html#threshold

2 个答案:

答案 0 :(得分:0)

单通道意味着灰度。 8位表示无符号字符(OpenCV中的CV_8U)。 32位表示浮点(OpenCV中的CV_32F)

答案 1 :(得分:0)

我的问题是以正确的格式获取图像,但我发现至少有两种方式:

  1. CvCapture* capture = cvCaptureFromFile("picture.png"); IplImage* frame = cvQueryFrame(capture);
  2. 2。 IplImage* frame = cvLoadImage("picture.png", CV_LOAD_IMAGE_GRAYSCALE);

    我还认为图片需要首先进行灰度缩放,但不知道如何为第一个选项执行此操作。无论如何,对于src和dst这些工作。