解決python影象處理影象賦值後變為白色的問題
阿新 • • 發佈:2020-06-05
用Python進行影象賦值,在1RGB基礎上,加入光流兩個通道,程式碼如下所示:
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陣列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,5],dtype=np.uint8) img1[:,0]) cv2.waitKey(10000)
補充知識:python3改圖片白色該為透明
我就廢話不多說了,大家還是直接看程式碼吧!
# pip install Pillow import PIL.Image as Image # 以第一個畫素為準,相同色改為透明 def transparent_back(img): img = img.convert('RGBA') L,H = img.size color_0 = (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影象處理影象賦值後變為白色的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。