登录
首页 >  Golang >  Go问答

Gocv中是否有类似于Python中的np.where()函数的功能?

来源:stackoverflow

时间:2024-03-12 13:54:18 385浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《Gocv中是否有类似于Python中的np.where()函数的功能?》,聊聊,我们一起来看看吧!

问题内容

gocv中是否有类似python中的np.where()的函数?我想将一些特定的像素值指定为0,其他的指定为255。如下,在python中我可以这样做:

        img = cv2.imread("test.png", cv2.IMREAD_GRAYSCALE)
        img_ = np.where(img == 144 , img*0, np.where(img == 170 , img*0, np.where(img == 178 , img*0, np.where(img == 187 , img*0, 255))))

像素值 187、178、170、144 将设置为 0,其他像素值设置为 255。我如何在 golang 中使用 gocv 完成这项工作?


解决方案


我刚刚发现gocv中没有像np.where()这样的东西。
我所要做的就是:

  1. 使用 Mat.ToBytes() 获取 []byte
  2. 编写一个for循环来检查[]byte中的每个像素,如果满足条件则更改它。
  3. 从 gocv.NewMatFromBytes() 获取 Mat

终于介绍完啦!小伙伴们,这篇关于《Gocv中是否有类似于Python中的np.where()函数的功能?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>