Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将opencv程序数据转换为excel工作表_Python_Excel_Opencv - Fatal编程技术网

Python 将opencv程序数据转换为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

我目前正在做一个关于在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;

在做类似的事情时,我通常会将其写入csv。它更简单,如果您真的想打开它,您可以随时使用excel打开它。