精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何實現PIL和OpenCV之間圖像數據的轉換呢?

jf_Ufm3lVrj ? 來源:凌順實驗室 ? 2024-02-25 13:43 ? 次閱讀

本文介紹如何仔PIL和OpenCV之間圖像數據的轉換,因為有時候在圖片處理速度上PIL會更勝一籌,現在這個轉換方法寫成一個函數,以便它轉換具有灰度或 alpha 通道的圖像。

PIL圖像數據格式轉換成OpenCV圖像數據格式

1,使用cv2轉換色彩的方法

import numpy as np
import cv2

def pil2cv(PIL_image):
    ''' PIL型 -> OpenCV型 '''
    cv2_image = np.array(PIL_image, dtype=np.uint8)
    if cv2_image.ndim == 2:  # 黑白
        pass
    elif cv2_image.shape[2] == 3:  # 彩色的3通道
        new_image = cv2.cvtColor(cv2_image, cv2.COLOR_RGB2BGR)
    elif cv2_image.shape[2] == 4:  # 包含透明的4通道
        cv2_image = cv2.cvtColor(cv2_image, cv2.COLOR_RGBA2BGRA)
    return cv2_image

2,不 使用cv2轉換色彩的方法

import numpy as np

def pil2cv(PIL_image):
    ''' PIL型 -> OpenCV型 '''
    cv2_image = np.array(PIL_image, dtype=np.uint8)
    if cv2_image.ndim == 2:  # 黑白
        pass
    elif cv2_image.shape[2] == 3:  # 彩色的3通道
        cv2_image = cv2_image[:, :, ::-1]
    elif cv2_image.shape[2] == 4:  # 包含透明的4通道
        cv2_image = cv2_image[:, :, [2, 1, 0, 3]]

    return cv2_image

OpenCV圖像數據格式轉換成PIL圖像數據格式

1,使用cv2轉換色彩的方法

from PIL import Image
import cv2

def cv2pil(cv2_image):
    ''' OpenCV型 -> PIL型 '''
    pil_image = cv2_image.copy()
    if pil_image.ndim == 2:  # 黑白
        pass
    elif pil_image.shape[2] == 3:   # 彩色的3通道
        pil_image = cv2.cvtColor(pil_image, cv2.COLOR_BGR2RGB)
    elif pil_image.shape[2] == 4:  # 包含透明的4通道
        pil_image = cv2.cvtColor(pil_image, cv2.COLOR_BGRA2RGBA)

    pil_image = Image.fromarray(pil_image)
    return pil_image

2,不使用cv2轉換色彩的方法

from PIL import Image

def cv2pil(cv2_image):
    ''' OpenCV型 -> PIL型 '''
    pil_image = cv2_image.copy()
    if pil_image.ndim == 2:   # 黑白
        pass
    elif pil_image.shape[2] == 3:   # 彩色的3通道
        pil_image = pil_image[:, :, ::-1]
    elif pil_image.shape[2] == 4:  # 包含透明的4通道
        pil_image = pil_image[:, :, [2, 1, 0, 3]]
    pil_image = Image.fromarray(new_pil_imageimage)
    return pil_image




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 圖像數據
    +關注

    關注

    0

    文章

    52

    瀏覽量

    11271
  • OpenCV
    +關注

    關注

    30

    文章

    628

    瀏覽量

    41260
  • PIL
    PIL
    +關注

    關注

    0

    文章

    19

    瀏覽量

    8603

原文標題:PIL圖像和OpenCV圖像數據格式互相轉換

文章出處:【微信號:凌順實驗室,微信公眾號:凌順實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Vivado設計流程分析 Vivado HLS實現OpenCV的開發流程

    作者:Harvest Guo來源:Xilinx DSP Specilist 本文通過對OpenCV圖像類型和函數處理方法的介紹,通過設計實例描述在vivadoHLS中調用OpenCV庫函數
    發表于 04-23 11:32 ?5852次閱讀
    Vivado設計流程分析 Vivado HLS<b class='flag-5'>實現</b><b class='flag-5'>OpenCV</b>的開發流程

    opencv跟labview圖像格式的轉換

    opencv跟labview圖像格式的轉換,有大神會嗎,教我?
    發表于 08-13 21:07

    Vivado HLS實現OpenCV圖像處理的設計流程與分析

    ::Mat《》類型的轉換。2、使用VivadoHLS實現OpenCV到RTL代碼轉換的流程2.1 OpenCV設計中的權衡
    發表于 07-08 08:30

    如何去實現一種基于opencv與flask的攝像頭圖像傳輸

    硬件:eaidk610(fedaro28)、普通帶usb接口攝像頭軟件環境: python3.9、opencv4.6、Flask2.2主要實現了從板子的連接的攝像頭收集圖像并在網頁中展示,板子上沒有
    發表于 10-18 14:25

    如何使用Python中的OpenCV模塊檢測顏色

    numpy然后,導入模塊。讀取圖像并使用 OpenCV 模塊中的 cvtColor() 函數將BGR圖像轉換為 HSV (色調、飽和度、值) 圖像
    發表于 02-09 16:31

    i.MX8m plus如何在ICC配置文件之間進行轉換

    我知道 NXP OpenCV fork 集成了 eIQ,用于 i.MX8m plus 上的硬件加速神經圖像處理。 但是,非機器學習圖像處理又如何,例如在 ICC 配置文件
    發表于 05-31 06:02

    使用opencv進行圖像處理

    使用opencv進行圖像處理_于仕琪,感興趣的可以看看。
    發表于 05-03 14:45 ?0次下載

    opencv中三種常見數據容器:Mat,cvMat和IplImage及它們編程顯示圖像的差異

    IplImage, CvMat, Mat 的關系opencv中常見的與圖像操作有關的數據容器有Mat,cvMat和IplImage,這三種類型都可以代表和顯示圖像,但是,Mat類型側重
    發表于 11-25 13:18 ?6566次閱讀

    關于MIL、SIL、PIL和HIL之間的聯系和異同分析

    SIL和PIL是等效性測試,測試的目的是為了驗證自動生成的代碼和模型具有相同的行為,既然如此,對于SIL和PIL的測試用例就沒有功能意義上的要求,只要要求代碼和模型輸入的測試數據相同即可,當然希望
    的頭像 發表于 09-17 11:51 ?1.5w次閱讀
    關于MIL、SIL、<b class='flag-5'>PIL</b>和HIL<b class='flag-5'>之間</b>的聯系和異同分析

    OpenCV實現圖像形態學什么常見操作?

    圖像形態學是圖像處理的分支學科,在二值圖像處理中占有重要地位、OpenCV實現圖像形態學如下
    的頭像 發表于 05-27 14:11 ?1428次閱讀
    <b class='flag-5'>OpenCV</b>中<b class='flag-5'>實現</b>了<b class='flag-5'>圖像</b>形態學什么常見操作?

    PIL的使用以及劃分圖像的皮膚區域

    本項目將使用python3去識別圖片是否為色情圖片,會使用到PIL這個圖像處理庫,并且編寫算法來劃分圖像的皮膚區域
    的頭像 發表于 07-15 10:03 ?1582次閱讀

    手把手教你使用LabVIEW OpenCV dnn實現圖像分類(含源碼)

    使用LabVIEW OpenCV dnn實現圖像分類
    的頭像 發表于 03-09 13:37 ?1220次閱讀

    PiL測試實戰(下)| PiL階段的閉環測試

    算法(ControllerModel)刷入目標板,那如何帶著位于PC端的PlantModel一起進行閉環測試?圖1PiL階段的閉環測試流程下面我會為以一個座艙溫度
    的頭像 發表于 12-15 10:31 ?830次閱讀
    <b class='flag-5'>PiL</b>測試實戰(下)| <b class='flag-5'>PiL</b>階段的閉環測試

    如何安裝Python圖像處理PIL

    安裝PIL庫 要使用PIL庫,我們首先需要安裝它。有兩種方法可以安裝PIL庫: 方法一:使用pip命令,在終端或命令行中輸入以下代碼: pip install Pillow 方法二:從官網下
    的頭像 發表于 09-12 17:15 ?2594次閱讀
    如何安裝Python<b class='flag-5'>圖像</b>處理<b class='flag-5'>PIL</b>庫

    OpenCV圖像識別C++代碼

    安裝OpenCV庫 首先,您需要在您的計算機上安裝OpenCV庫。您可以從OpenCV官網下載預編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項目中。
    的頭像 發表于 07-16 10:42 ?1791次閱讀