有必要创建一个Excel文件“结果.csv”与列x,y,r,g,B内循环.我有创建程序收集颜色特征种子图像.它读取两个周期这个值.像素值不写在csv文件.告诉我为什么追加功能不工作或应该使用我其他?给予我关于修复这个bug的建议.
代码:
import csv
import cv2
import os
from PIL import Image #Подключим необходимые библиотеки.
image = Image.open("S45-3-4.jpg") #Открываем изображение.
width = image.size[1] #Определяем ширину.
height = image.size[1] #Определяем высоту.
pix = image.load() #Выгружаем значения пикселей.
for x in range(height):
for y in range(width):
r, g, b = pix[x, y]
results = []
results.append(x, y, r, g, b)
headers = ['x', 'y', 'r', 'g', 'b']
with open('result.csv', "w") as file:
write = csv.DictWriter(file, delimiter=',')
writer = csv.writer(headers)
writer.writerows(results)
字符串
编译错误**:**E:\DiagonalsLinesColor\venv\Scripts\python.exe E:\DiagonalsLinesColor\main.py
Traceback (most recent call last):
File "E:\DiagonalsLinesColor\main.py", line 14, in <module>
results.append(x, y, r, g, b)
TypeError: append() takes exactly one argument (5 given)
进程已完成,退出代码为% 1。
的数据
1条答案
按热度按时间mepcadol1#
引发错误的原因是
result.append(argument)
函数通过在列表末尾添加argument
来更新列表result
。问题是它只需要1个参数,但您当前的代码传递了5个参数。然而,你可能想简单地将值
x, y, r, g, b
存储在一个列表中,然后在最后一行传递给writer.writerows()
。然后,你可以直接写result = [x, y, r, g, b]
。