【问题标题】:Mat element bulk modification : negative to 0, positive to 1Mat元素批量修改:负数为0,正数为1
【发布时间】:2013-03-18 13:14:27
【问题描述】:

我有一个负整数和正整数矩阵。我想将负元素设置为 0,将正元素设置为 1。 我不想单独设置每个元素。

OpenCv 中是否有任何功能/功能组合可以执行此操作?

【问题讨论】:

  • 你使用什么语言?
  • (因标题中的拼写错误而编辑。)

标签: c++ opencv matrix


【解决方案1】:

查看函数threshhold。此外,this tutorial 解释了如何通过对每个数组元素应用固定级别的阈值来获得二值图像。

cv::Mat source_array, binary_output;
cv::threshold(source_array, binary_output, 0, 1, cv::THRESH_BINARY); 

【讨论】:

    【解决方案2】:

    你正在做的事情叫做thresholding。答案取决于您使用的语言。下面是几个例子。

    C++

    cv::threshold(m, m, 0, 1, cv::THRESH_BINARY);
    

    C

    cvThreshold(m, m, 0, 1, THRESH_BINARY);
    

    Python (numpy, cv2)

    m = m > 0
    

    Python(简历)

    cv.Threshold(m, m, 0, 1, cv.CV_THRESH_BINARY)
    

    【讨论】:

      猜你喜欢
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      • 2019-10-07
      • 2011-03-12
      • 1970-01-01
      • 2022-11-03
      • 2021-06-02
      相关资源
      最近更新 更多