Python 将opencv程序数据转换为excel工作表
我目前正在做一个关于在OSX上使用opencv和python进行颜色图像过滤的项目。我制作了一个运行程序,当它找到一个特定颜色的对象时,它会在终端上打印一条消息,上面写着“找到框”和该框中的像素大小 我的问题是,当我尝试使用xlwrt在excel工作表中写入这些数据时,它会打印出像素的大小,但在同一单元格中它会不断被覆盖。我希望我的所有像素大小值都出现在为像素设置的列中 这是节目的一部分Python 将opencv程序数据转换为excel工作表,python,excel,opencv,Python,Excel,Opencv,我目前正在做一个关于在OSX上使用opencv和python进行颜色图像过滤的项目。我制作了一个运行程序,当它找到一个特定颜色的对象时,它会在终端上打印一条消息,上面写着“找到框”和该框中的像素大小 我的问题是,当我尝试使用xlwrt在excel工作表中写入这些数据时,它会打印出像素的大小,但在同一单元格中它会不断被覆盖。我希望我的所有像素大小值都出现在为像素设置的列中 这是节目的一部分 kernel = np.ones((31,31),np.uint8); opening=cv2.mo
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;
在做类似的事情时,我通常会将其写入csv。它更简单,如果您真的想打开它,您可以随时使用excel打开它。