skimage转换为灰度,生成黑色图像

时间:2020-02-07 02:50:04

标签: python selenium opencv image-processing scikit-image

我正在抓取图像并将其转换为灰度图像。但是,如果我查看图像。它是纯黑色。有人可以告诉我这是怎么了吗?谢谢

这是我的摘录

import cv2
from skimage import io
from skimage import data
from skimage.color import rgb2gray

#...some codes

for i in elements:
    try:
        i.click()
    except ElementClickInterceptedException:
        driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        i.click()
    url = driver.find_element_by_xpath('//*[@class="slider-list"]/div/img').get_attribute('src').replace('height=600','height=1200').replace('quality=70','quality=100')
    print (url)
    name = driver.find_element_by_xpath('//*[@class="slider-list"]/div/img').get_attribute('alt') + '.jpg'

    print (name)
    img = io.imread(url)
    new = rgb2gray(img)
    cv2.imwrite(os.path.join(fldrnm, name), new)

2 个答案:

答案 0 :(得分:2)

Import cv2
Img = cv2.inread(filepath)
Img = cv2.cvtColor(Img, cv2.COLOR_RGB2GRAY)
cv2.imwrite(path,img)

答案 1 :(得分:0)

问题的原始原因是skimage.color.rgb2gray将图像缩放为[0,1]中的浮点值,即使原始图像包含[0,255]中的uint8值也是如此。这样做是为了在长时间的操作过程中保持精度。在原始问题中使用skimage.io.imsave代替cv2.imwrite以及保存之前使用skimage.util.img_as_ubyte都是可行的。

请参阅此页面以获取更多详细信息:

https://scikit-image.org/docs/dev/user_guide/data_types.html