最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python Opencv和PIL讀取圖像文件的差別

 更新時間:2019年12月27日 09:31:42   作者:Oldpan博客  
這篇文章主要介紹了詳解Python Opencv和PIL讀取圖像文件的差別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

之前在進行深度學習訓練的時候,偶然發(fā)現(xiàn)使用PIL讀取圖片訓練的效果要比使用python-opencv讀取出來訓練的效果稍好一些,也就是訓練更容易收斂。可能的原因是兩者讀取出來的數(shù)據(jù)轉化為pytorch中Tensor變量稍有不同,這里進行測試。

之后的代碼都導入了:

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import torch
import cv2

測試

使用PIL和cv2讀取圖片時會有細微的區(qū)別,通過下面的代碼可以發(fā)現(xiàn)兩者讀取圖片是有區(qū)別的,也就是使用PIL讀取出來的圖片轉為numpy格式和直接使用cv讀取的圖片在像素點上并不是完全一致:

In[11]: image = cv2.imread('datasets/0_target.jpg')
In[18]: image_pil = Image.open('datasets/0_target.jpg').convert('RGB')
In[19]: image_pil = np.array(image_pil)
In[20]: image_cv = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
In[21]: image_cv == image_pil
Out[21]: 
array([[[ True, True, False],
    [ True, False, False],
    [False, False, False],
    ...,
    [ True, True, True],
    [ True, True, True],
    [ True, True, True]],

    [[ True, True, False],
    [ True, True, True],
    [False, True, False],
    ...,
    [ True, True, False],
    [ True, True, True],
    [ True, True, True]],

    [[ True, True, False],
    [ True, True, True],
    [False, False, False],
    ...,
    [ True, True, True],
    [ True, True, True],
    [ True, True, False]],

    ...,

    [[ True, True, True],
    [ True, True, True],
    [ True, True, True],
    ...,
    [False, False, True],
    [ True, True, True],
    [False, False, False]],

    [[ True, True, True],
    [ True, True, True],
    [ True, True, True],
    ...,
    [ True, True, True],
    [ True, True, True],
    [False, False, False]],

    [[ True, False, False],
    [ True, False, False],
    [ True, False, False],
    ...,
    [ True, True, True],
    [False, False, False],
    [ True, False, False]]])
In[26]: image_cv.shape
Out[26]: (682, 700, 3)
In[27]: image_pil.shape
Out[27]: (682, 700, 3)
In[28]: image_pil - image_cv
Out[28]: 
array([[[ 0,  0,  1],
    [ 0, 255,  3],
    [255,  1,  2],
    ...,
    [ 0,  0,  0],
    [ 0,  0,  0],
    [ 0,  0,  0]],

    [[ 0,  0,  2],
    [ 0,  0,  0],
    [255,  0,  2],
    ...,
    [ 0,  0, 254],
    [ 0,  0,  0],
    [ 0,  0,  0]],

    [[ 0,  0,  2],
    [ 0,  0,  0],
    [255,  1,  2],
    ...,
    [ 0,  0,  0],
    [ 0,  0,  0],
    [ 0,  0, 254]],

    ...,

    [[ 0,  0,  0],
    [ 0,  0,  0],
    [ 0,  0,  0],
    ...,
    [254,  1,  0],
    [ 0,  0,  0],
    [ 1, 255,  3]],

    [[ 0,  0,  0],
    [ 0,  0,  0],
    [ 0,  0,  0],
    ...,
    [ 0,  0,  0],
    [ 0,  0,  0],
    [ 2, 254,  4]],

    [[ 0,  1, 253],
    [ 0,  1, 253],
    [ 0,  1, 255],
    ...,
    [ 0,  0,  0],
    [ 1, 254,  1],
    [ 0, 255,  2]]], dtype=uint8)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python實現(xiàn)壁紙下載與輪換

    Python實現(xiàn)壁紙下載與輪換

    本人對于壁紙一直偏佛系,不愛特意去找一堆壁紙。因此用Python簡單地搞了一個自動下載壁紙,定時隨機輪換的功能來自娛自樂,順便分享給大家。
    2020-10-10
  • Python實現(xiàn)Sqlite將字段當做索引進行查詢的方法

    Python實現(xiàn)Sqlite將字段當做索引進行查詢的方法

    這篇文章主要介紹了Python實現(xiàn)Sqlite將字段當做索引進行查詢的方法,涉及Python針對sqlite數(shù)據(jù)庫索引操作的相關技巧,需要的朋友可以參考下
    2016-07-07
  • Python入門篇之文件

    Python入門篇之文件

    文件是我們儲存信息的地方,我們經(jīng)常要對文件進行讀、寫、刪除等的操作,在Python中,我們可用Python提供的函數(shù)和方法方便地操作文件。文件可以通過調(diào)用open或file來打開,open通常比file更通用,因為file幾乎都是為面向?qū)ο蟪绦蛟O計量身打造
    2014-10-10
  • python 實現(xiàn)簡易的記事本

    python 實現(xiàn)簡易的記事本

    這篇文章主要介紹了python 實現(xiàn)簡易的記事本的示例代碼,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-11-11
  • Python 多張圖片合并成一個pdf的參考示例

    Python 多張圖片合并成一個pdf的參考示例

    最近需要將記的筆記整理成一個pdf進行保存,所以就研究了一下如何利用 Python 代碼將拍下來的照片整個合并成一個pdf
    2021-06-06
  • Python數(shù)據(jù)類型之列表和元組的方法實例詳解

    Python數(shù)據(jù)類型之列表和元組的方法實例詳解

    這篇文章主要介紹了Python數(shù)據(jù)類型之列表和元組的相關知識,列表是一組有序項目的集合 ,可變的數(shù)據(jù)類型可 進行增刪改查,本文通過實例文字相結合的形式給大家介紹的非常詳細 ,需要的朋友可以參考下
    2019-07-07
  • Python全排列操作實例分析

    Python全排列操作實例分析

    這篇文章主要介紹了Python全排列操作,結合實例形式分析了Python列表、字符串全排列算法,以及使用標準庫itertools進行全排列的相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python面試不修改數(shù)組找出重復的數(shù)字

    Python面試不修改數(shù)組找出重復的數(shù)字

    這篇文章主要為大家介紹了不修改數(shù)組找出重復的數(shù)字Python實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Django 多語言教程的實現(xiàn)(i18n)

    Django 多語言教程的實現(xiàn)(i18n)

    這篇文章主要介紹了Django 多語言教程的實現(xiàn)(i18n),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python中遞歸以及遞歸遍歷目錄詳解

    Python中遞歸以及遞歸遍歷目錄詳解

    最近用Python讀取文件夾下所有圖片文件時,遇到一點點麻煩,該文件夾包含多級子文件夾,這篇文章主要給大家介紹了關于Python中遞歸以及遞歸遍歷目錄的相關資料,需要的朋友可以參考下
    2021-10-10

最新評論

苏尼特右旗| 黔南| 昆山市| 海原县| 怀集县| 金门县| 辉南县| 康定县| 双城市| 施秉县| 栾城县| 友谊县| 康定县| 伊宁市| 镇平县| 泊头市| 榆树市| 铜鼓县| 灵山县| 正蓝旗| 翁牛特旗| 九台市| 广饶县| 安岳县| 固安县| 宁国市| 扶绥县| 无为县| 彰武县| 松阳县| 永定县| 南投县| 贺兰县| 凌海市| 攀枝花市| 郁南县| 蓬莱市| 奈曼旗| 尉犁县| 五莲县| 印江|