我目前正在OSX上使用opencv和python进行颜色图像过滤的项目。我已经制作了一个功能正常的程序,当它找到特定颜色的对象时,它会在终端中打印一条消息,说明"找到框"以及该帧中的像素大小。
我的问题是,当我尝试使用xlwrt在excel表中写入此数据时,它会打印出像素的大小,但它会在同一个单元格中不断被覆盖。我希望我的所有像素大小值都会出现在像素列集中。
以下是该计划的一部分
kernel = np.ones((31,31),np.uint8);
opening=cv2.morphologyEx(mask,cv2.MORPH_OPEN,kernel,0);
kernel = np.ones((17,17),np.uint8);
dilation=cv2.dilate(opening,kernel,iterations=2);
opening=cv2.morphologyEx(mask,cv2.MORPH_OPEN,kernel,2);
edges = cv2.Canny(mask,100,255)
contours,hierarchy=cv2.findContours(opening,1,cv2.CHAIN_APPROX_SIMPLE);
res = cv2.bitwise_and(frame,frame, mask= dilation)
#contours=np.zeros(mask.shape,np.uint8);
areas = [cv2.contourArea(c) for c in contours]
ar = 0.0
i = 0
book = xlwt.Workbook(encoding="utf-8")
sheet1 = book.add_sheet("Sheet 1", cell_overwrite_ok=False)
sheet1.write(0, 0, "Frame")
sheet1.write(0, 1, "Pixel")
list1 = [0]
for a in areas:
print(a);
i += 1
ar=float(a)
list1.append(ar)
sheet1.write(i,0,ar)
book.save("/Users/canogerardo55/Desktop/trial.xls")
if (a>10000):
print("found box");
break;