一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)

python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)

2021-07-31 00:52水木小僧 Python

這篇文章主要介紹了python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在處理圖像的時(shí)候經(jīng)常是讀取圖片以后把圖片轉(zhuǎn)換為灰度圖。作為一個(gè)剛?cè)肟拥男“?,我在這篇博客記錄了四種處理的方法。

首先導(dǎo)入包:

  1. import numpy as np
  2. import cv2
  3. import tensorflow as tf
  4. from PIL import Image

方法一:在使用OpenCV讀取圖片的同時(shí)將圖片轉(zhuǎn)換為灰度圖:

  1. img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)
  2. print("cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)結(jié)果如下:")
  3. print('大?。簕}'.format(img.shape))
  4. print("類型:%s"%type(img))
  5. print(img)

運(yùn)行結(jié)果如下圖所示:

python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)

方法二:使用OpenCV,先讀取圖片,然后在轉(zhuǎn)換為灰度圖:

  1. img = cv2.imread(imgfile)
  2. #print(img.shape)
  3. #print(img)
  4. gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #Y = 0.299R + 0.587G + 0.114B
  5. print("cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)結(jié)果如下:")
  6. print('大小:{}'.format(gray_img.shape))
  7. print("類型:%s" % type(gray_img))
  8. print(gray_img)

運(yùn)行結(jié)果如下:

python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)

方法三:使用PIL庫中的Image模塊

  1. img = np.array(Image.open(imgfile).convert('L'), 'f') #讀取圖片,灰度化,轉(zhuǎn)換為數(shù)組,L = 0.299R + 0.587G + 0.114B。'f'為float類型
  2. print("Image方法的結(jié)果如下:")
  3. print('大?。簕}'.format(img.shape))
  4. print("類型:%s" % type(img))
  5. print(img)

運(yùn)行結(jié)果如下:

python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)

更多關(guān)于使用PIL庫中的Image模塊的convert()函數(shù)的知識(shí)請(qǐng)參考博客:http://www.ythuaji.com.cn/kf/201603/492898.html

方法四:TensorFlow方法:

  1. with tf.Session() as sess:
  2. img = tf.read_file(imgfile) #讀取圖片,
  3. img_data = tf.image.decode_jpeg(img, channels=3) #解碼
  4. #img_data = sess.run(tf.image.decode_jpeg(img, channels=3))
  5. img_data = sess.run(tf.image.rgb_to_grayscale(img_data)) #灰度化
  6. print('大?。簕}'.format(img_data.shape))
  7. print("類型:%s" % type(img_data))
  8. print(img_data)

運(yùn)行結(jié)果如下:

python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)

python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)

可以看出:TensorFlow的方法的結(jié)果與上面的三種方法的處理結(jié)果略有不同。所以在處理圖像的時(shí)候最好保持方法的一致性,最好不要用這種方法讀取完圖片然后用另一種方法處理圖片,以避免不必要的bug影響圖片處理處理結(jié)果。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/Tony_Stark_Wang/article/details/80006366

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 无人区乱码1区2区3区网站 | 999久久免费高清热精品 | 欧美视频黑鬼大战白妞 | 国产综合亚洲欧美日韩一区二区 | 日本精品一区二区三区 | 四虎免费影院4hu永久免费 | 视频在线观看入口一二三2021 | 久久精品热只有精品 | www.国产一区二区三区 | 国产美女在线一区二区三区 | 午夜DY888国产精品影院 | 国产综合久久久久 | 免费毛片| 午夜影院0606免费 | 日本ssswww大学生 | 成人在线一区二区三区 | 欧美成人一区二区三区 | 精品高潮呻吟99AV无码 | 嫩草影院地址一地址二 | 草草免费观看视频在线 | katsuniav在线播放 | 久久久黄色片 | x8x8在线观看免费 | 国产青草视频在线观看免费影院 | 激情视频在线播放 | 国产人成精品午夜在线观看 | 亚洲欧洲日产国码天堂 | 亚洲天堂男人的天堂 | 韩国悲惨事件30无删减在线 | 好 舒服 好 粗 好硬 好爽 | 国产麻豆成91 | 欧美高清无砖专区欧美精品 | 国产精品一久久香蕉产线看 | 9191精品国产观看 | 亚洲网站大全 | 午夜影院网站 | 亚洲精品中文 | 情欲综合网| 久久电影精品久久99久久 | 视频在线91 | 亚洲欧美7777 |