簡體   English   中英

將圖像轉換為三逗號分隔 RGB 的 txt 文件

[英]convert an image to a txt file in triple comma separated RGB

在 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=',')

誰能幫我?

print()有一個 arg 來更改從\\n默認結尾。 然后你可以在每行像素的末尾打印一個換行符。

import cv2
img = cv2.imread('myimage.png')
for i in img:
    for j in i:
        print(*j, sep=',', end=' ')
    print()

行代碼解決了我的問題,感謝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') 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM