国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

opencv讀寫png

這篇具有很好參考價值的文章主要介紹了opencv讀寫png。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

[1] 測試了怎么手動加 alpha 通道設(shè)置透明度后,用 PIL.Image 存 png,通道順序是 RGBA。這里測試用 opencv 讀、寫 1、3、4 通道的 png。

png 可以只存 3 通道的,即不要 alpha,也可以加上 alpha。而無 alpha 時 opencv 的通道順序是 BGR,那加上 alpha 之后呢?

3-channel

import numpy as np
import cv2

# 寫
bgr = np.zeros((28, 256, 3), dtype=np.uint8)
bgr[:, :, 0] = 255 # blue
cv2.imwrite("blue.png", bgr) # 3 通道,BGR
a = np.zeros((28, 256, 1), dtype=np.uint8) # alpha 通道
for i in range(256): # 漸變透明度
    a[:, i] = i
bgra = np.concatenate((bgr, a), axis=2) # BGRA 順序
print(bgra.shape) # (28, 256, 4)
cv2.imwrite("blue_bgra.png", bgra) # 4 通道,BGRA

# 讀
bgr_in = cv2.imread("blue.png") # 3 通道普通讀
bgra_in = cv2.imread("blue_bgra.png") # 4 通道普通讀
bgra_in2 = cv2.imread("blue_bgra.png", cv2.IMREAD_UNCHANGED) # 4 通道特殊操作
print(bgr_in.shape, bgra_in.shape, bgra_in2.shape) # (28, 256, 3) (28, 256, 3) (28, 256, 4)

# 對拍
print("diff bgr:", (bgr != bgr_in).sum()) # 0
print("diff bgr v.s. bgra_in:", (bgr != bgra_in).sum()) # 0
print("diff bgra:", (bgra != bgra_in2).sum()) # 0

output image

  • blue.png
    opencv讀寫png
  • blue_bgra.png

opencv讀寫png

conclusion

  • 不加 alpha 就還是 opencv 的 BGR 順序,加了之后就是簡單地變成 BGRA。
  • 3、4 通道 png 寫都是一樣的,用帶特殊參數(shù)。
  • 讀 3 通道 png 普通讀就好,4 通道如果普通讀就是簡單舍棄 alpha,要保留 alpha 就加 cv2.IMREAD_UNCHANGED。

1-channel

即灰度圖,例如 MNIST 的數(shù)據(jù)。

  • 寫時普通寫就好;
  • 讀時加 cv2.IMREAD_UNCHANGED,否則 opencv 會自動改成 3 通道。
import cv2
import numpy as np
from PIL import Image

img = np.tile(np.arange(256)[np.newaxis, :], (10, 1)).astype(np.uint8)
print(img.shape) # (10, 256)
cv2.imwrite("grey-cv2.png", img)
im1 = cv2.imread("grey-cv2.png")
print(im1.shape, im1.dtype) # (10, 256, 3), uint8
im2 = cv2.imread("grey-cv2.png", cv2.IMREAD_UNCHANGED)
print(im2.shape, im2.dtype) # (10, 256), uint8
print("diff:", (img != im2).sum()) # 0

opencv讀寫png文章來源地址http://www.zghlxwxcb.cn/news/detail-486554.html

References

  1. python設(shè)置圖像透明度
  2. How to save png images with OpenCV
  3. How to load png images with 4 channels?

到了這里,關(guān)于opencv讀寫png的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 怎么測試電腦的機(jī)械硬盤或SSD固態(tài)硬盤的讀寫速度?

    怎么測試電腦的機(jī)械硬盤或SSD固態(tài)硬盤的讀寫速度?

    電腦的硬盤分機(jī)械硬盤和固態(tài)硬盤兩種,機(jī)械硬盤一般讀寫速度慢,而固態(tài)硬盤就是因?yàn)樽x寫速度比較快而受歡迎,早些年的電腦一般裝的都是機(jī)械硬盤,用久了電腦都會變得比較卡?,F(xiàn)在的電腦一般系統(tǒng)盤都是用的固態(tài)硬盤。如果你的電腦買的比較早,現(xiàn)在又比較卡的話,

    2024年02月09日
    瀏覽(24)
  • 單元測試、冒煙測試、集成測試、系統(tǒng)測試、回歸測試、驗(yàn)收測試、Alpha、Beta

    1.冒煙測試 代碼跑通即可。 這一術(shù)語源自硬件測試:測試一個硬件或硬件組件時,先直接加電,如果冒煙了,則無需進(jìn)行后續(xù)測試。目的:判斷是否可以進(jìn)行后續(xù)的正式測試工作。 新編譯的軟件版本,確認(rèn)其基本功能正常。 2、回歸測試 修改后重新測試。 錯誤被修正后或軟

    2023年04月13日
    瀏覽(18)
  • EasyNVR平臺ONVIF教程:如何通過ODM工具手動輸入onvif地址添加通道?

    EasyNVR平臺ONVIF教程:如何通過ODM工具手動輸入onvif地址添加通道?

    EasyNVR屬于輕量級的視頻監(jiān)控平臺,可拓展性強(qiáng)、兼容度高,可支持RTSP/ONVIF協(xié)議接入前端設(shè)備。在接入前端設(shè)備時,可通過自帶的ONVIF探測功能,將攝像頭設(shè)備接入平臺,并能實(shí)現(xiàn)云臺控制,包括轉(zhuǎn)動、變焦、放大等操作。 在實(shí)際使用場景中,因受到網(wǎng)絡(luò)環(huán)境因素影響,在E

    2023年04月08日
    瀏覽(26)
  • 基于fpga的ddr3讀寫控制,純verilog實(shí)現(xiàn),能實(shí)現(xiàn)多通道圖像數(shù)據(jù)讀寫控制

    基于fpga的ddr3讀寫控制,純verilog實(shí)現(xiàn),能實(shí)現(xiàn)多通道圖像數(shù)據(jù)讀寫控制

    基于fpga的ddr3讀寫控制,純verilog實(shí)現(xiàn),能實(shí)現(xiàn)多通道圖像數(shù)據(jù)讀寫控制,模塊接口清晰,可移植性高. 基于FPGA的DDR3讀寫控制是一項(xiàng)重要的技術(shù),它為多通道圖像數(shù)據(jù)的讀寫提供了高效的解決方案。本文將介紹一種純Verilog實(shí)現(xiàn)的DDR3讀寫控制模塊,旨在實(shí)現(xiàn)模塊接口清晰、可移

    2024年04月12日
    瀏覽(41)
  • 快速解決Spine動畫導(dǎo)入Unity后需要設(shè)置Straight Alpha Texture的問題

    在導(dǎo)入Spine資源后,Unity會根據(jù)不同的后綴,自動化構(gòu)建出不同格式的資源。導(dǎo)入后,會發(fā)現(xiàn)播放的動畫和導(dǎo)入前的動畫的圖片不一樣。這時上網(wǎng)查基本都是需要手動吧材質(zhì)資源的Straight Alpha Texture 勾上。 查看材質(zhì)的Shader可以看出這個選項(xiàng)是用來選擇顏色是否加了透明度的計算

    2024年02月16日
    瀏覽(110)
  • OpenCV - 圖片增加透明通道,圖片合并透明通道

    一般人像摳圖相關(guān)的AI模型會輸出一個Mask圖,這個Mask圖就是我們需要的可以將人物摳出來的Alpha通道信息,我們需要將這個Mask圖附加到原始圖片上,從BGR圖片轉(zhuǎn)成BGRA圖片或者從RGB圖片轉(zhuǎn)成RGBA圖片。 如果使用OpenCV進(jìn)行圖像處理,在為圖像增加透明通道時會使用到 cv::split 和

    2024年02月16日
    瀏覽(20)
  • OpenCV 將單通道轉(zhuǎn)換為三通道

    項(xiàng)目有個需求:圖片傳至圖像算法庫處理完成后需要返回結(jié)果圖像進(jìn)行再加工。 目前的情況是相機(jī)拍下來的圖像是灰度圖 傳送圖像指針給算法處理,算法處理完后將檢測結(jié)果(eg. ok,ng)寫入一張三通道圖,只有這樣才可以顯示彩色文字 然后現(xiàn)在需要回傳此三通道圖片的指針

    2024年02月11日
    瀏覽(22)
  • OpenCV4通道的分離split(),通道的合并merge(),通道的混合mixChannels()

    OpenCV4通道的分離split(),通道的合并merge(),通道的混合mixChannels()

    opencv中默認(rèn)imread函數(shù)加載圖像文件,加載進(jìn)來的是三通道彩色圖像,色彩空間是RGB色彩空間,通道順序是BGR(藍(lán)色、綠色、紅色),對于三通道的圖像OpenCV中提供了三個API函數(shù)用以實(shí)現(xiàn)通道分離split(),合并merge(),混合mixChannels(); RGB圖像,在opencv的Mat中,像素數(shù)據(jù),存儲結(jié)構(gòu)

    2024年02月12日
    瀏覽(21)
  • 消防通道堵塞識別 opencv

    消防通道堵塞識別 opencv

    消防通道堵塞識別系統(tǒng)通過opencv+python網(wǎng)絡(luò)模型技術(shù),消防通道堵塞識別對消防通道的狀態(tài)進(jìn)行實(shí)時監(jiān)測,檢測到消防通道被堵塞時,將自動發(fā)出警報提示相關(guān)人員及時采取措施。OpenCV的全稱是Open Source Computer Vision Library,是一個跨平臺的計算機(jī)視覺處理開源軟件庫,是由Int

    2024年02月16日
    瀏覽(19)
  • 02 OpenCV圖像通道處理

    02 OpenCV圖像通道處理

    在數(shù)字圖像處理中,圖像通道是指一個圖像中的顏色信息被分離為不同的顏色分量。常見的圖像通道包括RGB通道、灰度通道、HSV通道等。 RGB通道是指將圖像分離為紅色、綠色和藍(lán)色三個顏色通道,每個通道表示相應(yīng)顏色的亮度。這種方式是最常見的方式,它對于彩色圖像的處

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包