Итак, я написал код, и я хочу сравнить два набора. Однако длина возвращает только 0 или 1, в зависимости от того, использую ли я два изображения или одно и то же изображение. Это связано с тем, что мои наборы формируются как только 1 набор элементов вместо смешивания чисел друг от друга. Например, наборы, считанные как [(a, b, c)] вместо [('a', 'b', 'c')].Почему мои наборы не содержат более одного элемента? - python 2.7
Вот мой код
import cv2
import numpy as np
import time
N=0
colour=[]
colourfile=open('Green from RGB.txt', 'r')
for line in colourfile.readlines():
colour.append([line])
colour_set=sorted(set(map(tuple, colour)))
def OneNumber(im): #Converts the pixels rgb to a single number.
temp_im=im.astype('int32')
r,g,b = temp_im[:,:,0], temp_im[:,:,1], temp_im[:,:,2]
combo=r*1000000+g*1000+b
return combo
while True:
cam = cv2.VideoCapture(0)
start=time.time()
while(cam.isOpened()): #Opens camera
ret, im = cam.read() #Takes screenshot
#im=cv2.imread('filename.type')
im=cv2.resize(im,(325,240)) #Resize to make it faster
im= im.reshape(1,-1,3)
im=OneNumber(im) #Converts the pixels rgb to a singe number
im_list=im.tolist() #Makes it into a list
im_set=set(im_list[0]) #Makes set
ColourCount= set(colour_set) & set(colour_set) #or set(im_set) for using/ comparing camera
print len(ColourCount)
Также текстовый файл я открытие записывается как:
126255104, 8192000, 249255254, 131078, 84181000, 213254156,
В одной, большой большой линии.
Итак, как я могу разделить числа на разные элементы в наборах, im_set и colour_set?
Благодаря
Это трудно понять. Создайте [MCVE] (http://stackoverflow.com/help/mcve). – timgeb