Mat元素批量修改:负数为0,正数为1
Posted
技术标签:
【中文标题】Mat元素批量修改:负数为0,正数为1【英文标题】:Mat element bulk modification : negative to 0, positive to 1 【发布时间】:2013-03-18 13:14:27 【问题描述】:我有一个负整数和正整数矩阵。我想将负元素设置为 0,将正元素设置为 1。 我不想单独设置每个元素。
OpenCv 中是否有任何功能/功能组合可以执行此操作?
【问题讨论】:
你使用什么语言? (因标题中的拼写错误而编辑。) 【参考方案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)
【讨论】:
以上是关于Mat元素批量修改:负数为0,正数为1的主要内容,如果未能解决你的问题,请参考以下文章