用opencv如何将一个二值化图像反色

如下图:如何将该图变为黑底白目标。我现在用的是Mat形式。希望能有具体的实现代码万分着急,谢谢!其实不光是这一个图,现在的情况是有的二值化图片的结果本来就是黑底白目标,但... 如下图:
如何将该图变为黑底白目标。我现在用的是Mat形式。希望能有具体的实现代码
万分着急,谢谢!
其实不光是这一个图,现在的情况是有的二值化图片的结果本来就是黑底白目标,
但有的二值化图就需要进行反色。
我要的是如何自动判断是否需要进行反色,如果需要,那么进行反色。上图在
二值化之前的图如下:
展开
 我来答
追风之叶子
2014-08-28 · TA获得超过153个赞
知道答主
回答量:106
采纳率:0%
帮助的人:60.7万
展开全部

你想要的是这样的结果么?

Mat reverse(Mat src)

{

    Mat dst=src<100;

    return dst;

}

追问
代码中的100是什么啊
追答

  随便设置的一个阈值。具体的值和你图像的数据类型有关。

  例如:我用的数据类型是CV_8U,图像取值只有0和255两种可能。理论上阈值th可以选择(0,255)的任意值。dst=src<100等价如下代码

if(f<th)
{
    f=255;
}
else
{
    f=0;
}

  目标是将二值化图像翻转。

暴君Renekton
2017-11-14 · TA获得超过249个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:68.1万
展开全部
如果是C++的话,直接
Mat dst = 255 - src; // 这样就直接实现黑白转置了
也可以使用
THRESH_BINARY_INV代替THRESH_BINARY直接实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大二屁孩
2019-05-15
知道答主
回答量:3
采纳率:0%
帮助的人:1.5万
展开全部
二值图反色用逻辑运算中的非运算更快,dst=cv2.bitwise_not()dst
我是python 的opencv,其他语言也有非运算的
我之前也在找答案,很多人都用255去减每个像素值,这方法在我的机器上效率低下得恐怖。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式