解決python圖像處理圖像賦值后變?yōu)榘咨膯栴}
用Python進(jìn)行圖像賦值,在1RGB基礎(chǔ)上,加入光流兩個通道,代碼如下所示:
import numpy as np
import cv2
import matplotlib.pyplot as plt
path = 'frame_00003_rgb.png'
img = cv2.imread(path)
img1 = np.zeros([480, 640, 5])
img1[:, :, 0:3] = np.array(img)
cv2.imshow('test1', np.array(img)[:,:,2])
cv2.imshow('test2', img1[:, :, 0])
cv2.waitKey(10000)
打印出來的時候,圖像顯示空白:

后來找到了問題,是numpy數(shù)組11聲明的問題,改成uint8就行了:如下所示:
import numpy as np
import cv2
import matplotlib.pyplot as plt
path = 'frame_00003_rgb.png'
img = cv2.imread(path)
img1 = np.zeros([480, 640, 5], dtype=np.uint8)
img1[:, :, 0:3] = np.array(img)
cv2.imshow('test1', np.array(img)[:,:,2])
cv2.imshow('test2', img1[:, :, 0])
cv2.waitKey(10000)
補充知識:python3改圖片白色該為透明
我就廢話不多說了,大家還是直接看代碼吧!
# pip install Pillow
import PIL.Image as Image
# 以第一個像素為準(zhǔn),相同色改為透明
def transparent_back(img):
img = img.convert('RGBA')
L, H = img.size
color_0 = (255,255,255,255)#要替換的顏色
for h in range(H):
for l in range(L):
dot = (l,h)
color_1 = img.getpixel(dot)
if color_1 == color_0:
color_1 = color_1[:-1] + (0,)
img.putpixel(dot,color_1)
return img
if __name__ == '__main__':
img=Image.open('img.png')
img=transparent_back(img)
img.save('img2.png')
以上這篇解決python圖像處理圖像賦值后變?yōu)榘咨膯栴}就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python接口自動化系列之unittest結(jié)合ddt的使用教程詳解
這篇文章主要介紹了Python接口自動化系列之unittest結(jié)合ddt的使用教程詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
python numpy 一維數(shù)組轉(zhuǎn)變?yōu)槎嗑S數(shù)組的實例
今天小編就為大家分享一篇python numpy 一維數(shù)組轉(zhuǎn)變?yōu)槎嗑S數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
python庫Celery異步發(fā)送電子郵件定時生成報告實戰(zhàn)示例
這篇文章主要介紹了python庫Celery異步發(fā)送電子郵件定時生成報告實戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
python如何調(diào)用現(xiàn)有的matlab函數(shù)
這篇文章主要介紹了python如何調(diào)用現(xiàn)有的matlab函數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

