python - 对多个图像进行阈值分析并将结果保存在 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)
解决方案
您需要先读取图像,然后才能对其进行阈值处理。从...开始
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=",")
推荐阅读
- ios - 如何在两个地理位置之间创建 SCNPlane(如下图所示)?
- java - 如何使用并行或并发大大缩短单元测试的运行时间?
- c# - 如何将数据表的标题名称/列名称更改为 dataGridView
- java - PlatformException(FlutterSoundPlugin,未授予许可,android.permission.RECORD_AUDIO 或 android.permission.WRITE_EXTERNAL_STORAGE)
- scala - 使用两列以不同顺序对 Spark Dataframe 进行排序
- .net - .net core 2.0 如何为具有详细信息部分的两个相关实体创建表单
- python - Python:每小时迭代两个日期时间
- vue.js - Vuex 可以跨标签动态共享数据吗?
- android - 使用 Kotlin 处理改造回调
- c++ - 将键值表示为枚举