亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用tensorflow將圖片灰度化以及遇到的坑解決

 更新時間:2024年02月27日 15:02:48   作者:hello689  
這篇文章主要介紹了使用tensorflow將圖片灰度化以及遇到的坑解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

tensorflow將圖片灰度化及遇到的坑

用tensorflow將圖片灰度化,很簡單的一個問題,幾句代碼就OK了。

但是這里邊有很多坑,稍不留神,半天都不一定找得到原因。

我下面說說我遇到的坑

先給代碼,再介紹我遇到的坑:

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from keras_preprocessing.image import load_img,img_to_array
%matplotlib inline
 
 
image_name = 'cat1.jpg'
image = load_img(image_name)
#將圖片轉(zhuǎn)換為數(shù)組
image = img_to_array(image)
#轉(zhuǎn)為黑白
image = tf.image.rgb_to_grayscale(image)
image = tf.squeeze(image,2)
plt.imshow(image)

步驟很簡單:

  • 讀取彩色圖片
  • 轉(zhuǎn)換為黑白圖片
  • 顯示這個黑白圖片

就這簡簡單單的幾步,我卻遇到了很多問題,不過在解決問題的過程中又學到了很多,還是很有收獲的。 

坑一

#坑一、不將image轉(zhuǎn)換為數(shù)組,直接用rgb_to_grayscale方法,將圖片轉(zhuǎn)為灰度圖片
image_name = 'cat1.jpg'
image = load_img(image_name)
#轉(zhuǎn)為黑白
image = tf.image.rgb_to_grayscale(image)

執(zhí)行上邊代碼會報錯如下圖,不能直接將一個圖片轉(zhuǎn)化為一個tensor。

這里需要先將image對象轉(zhuǎn)化為數(shù)組array。

然后通過百度學會了img_to_array()方法。

圖1、坑一錯誤信息

坑二

#坑二:最后圖片無法顯示
image_name = 'cat1.jpg'
image = load_img(image_name)
#將圖片轉(zhuǎn)換為數(shù)組
image = img_to_array(image)
#轉(zhuǎn)為黑白
image = tf.image.rgb_to_grayscale(image)
plt.imshow(image)

錯誤信息:

圖2、坑二錯誤

原圖是三維的,圖片維度為(480,500,3),轉(zhuǎn)為黑白后圖片的shape變成了(480,500,1)。

猜測,黑白的是不是就兩維。于是進行了降維操作 學習了tf.squeeze()方法, 最后降維后,大功告成,結(jié)束!

補充

我當時看了image的類型,本以為是因為轉(zhuǎn)換為array后,里邊值的類型為float,所以才不會顯示圖片。

當時就把float類型轉(zhuǎn)為了int型。后來才發(fā)現(xiàn),其實不管array里的值類型是float還是int,都會顯示。

所以第一版成功運行的代碼是把圖片類型也轉(zhuǎn)換了,代碼如下,第六行多了一句將圖片轉(zhuǎn)為int型的代碼。

image_name = 'cat1.jpg'
image = load_img(image_name)
plt.imshow(image)
#將圖片轉(zhuǎn)換為數(shù)組
image = img_to_array(image)
image = image.astype(dtype='uint8')
#轉(zhuǎn)為黑白
image = tf.image.rgb_to_grayscale(image)
#降維
image = tf.squeeze(image,2)
plt.imshow(image)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • pyecharts如何旋轉(zhuǎn)折線圖的X軸標簽

    pyecharts如何旋轉(zhuǎn)折線圖的X軸標簽

    這篇文章主要介紹了pyecharts如何旋轉(zhuǎn)折線圖的X軸標簽,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python中的np.vstack()和np.hstack()詳解

    Python中的np.vstack()和np.hstack()詳解

    這篇文章主要介紹了np.vstack()和np.hstack(),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Python googletrans庫使用示例詳解

    Python googletrans庫使用示例詳解

    googletrans是一個基于谷歌翻譯API的Python庫,支持多種語言的自動檢測和翻譯,提供了translate和detect方法,用于翻譯文本和檢測文本語言,通過簡單的命令即可安裝使用,適合需要實現(xiàn)多語言翻譯功能的開發(fā)者
    2024-09-09
  • python3實現(xiàn)ftp服務功能(服務端 For Linux)

    python3實現(xiàn)ftp服務功能(服務端 For Linux)

    這篇文章主要介紹了python3實現(xiàn)ftp服務功能,服務端 For Linux,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 使用Python實現(xiàn)為PDF文件添加圖章

    使用Python實現(xiàn)為PDF文件添加圖章

    在日常工作中,我們經(jīng)常需要給PDF文檔添加一些標識,比如公司的圖章或水印圖章,所以本文就來為大家詳細介紹一下如何使用Python實現(xiàn)為PDF文件添加圖章,需要的可以參考下
    2023-11-11
  • Python找出9個連續(xù)的空閑端口

    Python找出9個連續(xù)的空閑端口

    這篇文章主要介紹了Python找出9個連續(xù)的空閑端口的方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • python類函數(shù)的有效調(diào)用方式

    python類函數(shù)的有效調(diào)用方式

    文章介紹了Python中類的幾種不同方法,并展示了如何有效調(diào)用這些方法,實驗涵蓋了屬性方法、靜態(tài)方法、類方法、普通方法、保護方法和私有方法,并詳細說明了每種方法的調(diào)用方式,文章還討論了如何處理調(diào)用錯誤和返回值,并提供了一些實用建議
    2024-11-11
  • python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細使用方法與實例

    python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細使用方法與實例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細使用方法與實例,需要的朋友可以參考下
    2020-02-02
  • 使用Python獲取Linux系統(tǒng)的各種信息

    使用Python獲取Linux系統(tǒng)的各種信息

    這篇文章主要介紹了使用Python獲取Linux系統(tǒng)的各種信息,例如系統(tǒng)類型、CPU信息、內(nèi)存信息、塊設備等,需要的朋友可以參考下
    2014-07-07
  • python-parser.parse_args()解析參數(shù)問題

    python-parser.parse_args()解析參數(shù)問題

    這篇文章主要介紹了python-parser.parse_args()解析參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論