开发者社区> 问答> 正文

将灰色背景转换为白色背景,而不会干扰原始图像

我裁剪了一些灰色背景的图像,需要将它们转换为白色背景,以便与参考图像进行比较。我实现了以下代码转换:

import cv2 im_gray = cv2.imread('gray_bg.png', cv2.IMREAD_GRAYSCALE) (thresh, im_bw) = cv2.threshold(im_gray, 255, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) cv2.imwrite('white_bg.png', im_bw) 在将我的输出与参考图像进行比较时,我得不到所需的输出。有人可以建议我怎么做吗?

展开
收起
游客6qcs5bpxssri2 2019-09-08 21:53:05 861 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    避免颜色编码的变化达到最佳效果。这是代码:

    im_gray = cv2.imread('gray_bg.png', cv2.IMREAD_UNCHANGED)

    b, g, r = cv2.split(im_gray)

    t = [None] * 3

    u = [None] * 3

    for i, im in enumerate([b, g, r]):

    t[i], u[i] = cv2.threshold(im, 255, 255, cv2.THRESH_BINARY + cv2.THRESH_TRIANGLE)
    

    dst = cv2.merge((*u,))

    cv2.imwrite('white_bg.png', dst)

    通过将它与原始数据进行比较,它给出了99.99%相等

    如果你真的需要它,你可以将图像转换为灰度cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)。

    2019-09-08 21:53:38
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
营销设计场景下的图像和文字生成 立即下载
复杂环境下的视觉同时定位与地图构建 立即下载
低代码开发师(初级)实战教程 立即下载