在 Python 中,我們如何將 .jpg 檔案轉換為具有 RGB 三個逗號分隔值的文本檔案,其中這些三元組由一個空格分隔。例如:
0,0,200 0,0,10 10,0,0
90,90,50 90,90,10 255,255,255
100,100,88 80,80,80 15,75,255
上面是一個由 3x3 像素表示的影像。對于每個像素,提供藍色、綠色和紅色值,用逗號分隔。左上角的像素有 (Blue=0,Green=0,Red=200)。右上角的像素有 (Blue=10,Green=0,Red=0)。右下角的像素有 (Blue=15,Green=75,Red=255)。左下角的像素有(藍色=100,綠色=100,紅色=88)。
我可以使用以下代碼在新行中列印出每個像素:
import cv2
img = imread('myimage.png')
for i in img:
for j in i:
print(*j,sep=',')
誰能幫我?
uj5u.com熱心網友回復:
print()有一個 arg 將默認結尾更改為\n. 然后你可以在每行像素的末尾列印一個換行符。
import cv2
img = cv2.imread('myimage.png')
for i in img:
for j in i:
print(*j, sep=',', end=' ')
print()
uj5u.com熱心網友回復:
這幾行代碼解決了我的問題,感謝user3474165:
import cv2
from pathlib import Path
path = Path('.').joinpath('images') # you shoud adjust this address upon your need
img = cv2.imread(path.joinpath('image_name')) # you should change 'image_name' upon your need
with open(path.joinpath('output.txt'), 'w') as f_out: # you should change 'output.txt' upon your need
for i in img:
f_out.write(' '.join(['{},{},{}'.format(*j) for j in i]) '\n')
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/338083.html
