抠图颜色会变蓝或者有偏差

原本用的是cv2.imread读取一张图片来进行抠图,颜色没有任何变化,但是我想实现任意选一张图片来抠图,就没用cv2.imread而直接改成image=[img]了,而这种操作使得我的颜色总有偏差,该怎么改呢

img

img

  • 这篇文章讲的很详细,请看:cv2.imread用法和skimage用法区别
  • 除此之外, 这篇博客: cv2的相关函数中的 1、cv2.imread() 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 最常见的读取图片,注意这里的读取是读取图片信息,不是所谓的展示图片

    用法:

    imread(img_path,flag) 读取图片,返回图片对象
        img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None
        flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略。是默认参数,可以传入数字1代替。
              cv2.IMREAD_GRAYSCALE,按灰度模式读取图像,也可以传入0
              cv2.IMREAD_UNCHANGED,读取图像,包括其alpha通道,也可以传入-1
              
    例:
    import cv2
    img = cv2.imread('1.jpg') 
    img = cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE) 
    #img = cv2.imread('1.jpg',0)