首页 > 解决方案 > 对多个图像进行阈值分析并将结果保存在 csv 文件中

问题描述

我想对几个图像执行阈值分析,每个图像的阈值下限都不同。我想将结果保存在 csv 文件中。不幸的是,我的代码没有按照我想要的方式工作。我是python初学者。谢谢你的帮助!

import cv2 as cv
import numpy as np
import os
import csv

x = []
y = []

Source_Path = 'Images/Image'

with open('Thresh.csv', 'w', newline='') as f:
   writer = csv.writer(f)
   for i, filename in enumerate(os.listdir(Source_Path)):
      for j in range(100,255):
         ret,thresh = cv.threshold(i,j,255,cv.THRESH_BINARY)
         count = np.sum(thresh == 255)
         x.append(count)
      y.append(x)
   writer.writerow(y)

标签: pythoncsvopencv

解决方案


您需要先读取图像,然后才能对其进行阈值处理。从...开始

img = cv.imread("file.jpg") 
img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
ret, thresh = cv.threshold(img, 120, 255, cv.THRESH_BINARY) 

在您将所需的所有统计信息收集到 numpy 数组中之前,不要担心将结果写入 csv 文件。然后使用将该数组写入磁盘

np.savetext("foo.csv", np_array, delimiter=",")

推荐阅读