python - 如何在 Python 中获取简单的数据输出并将其导出到 Excel(或记事本)?
问题描述
我正在做一个涉及 Python 的项目。我从来没有将它与 OpenCV 一起使用过。目标是拍摄一段 16x16 的视频片段,我正在使用单个图像进行练习,并获得它的 RBG 值。我想在视频上运行数千帧,我不知道如何循环播放。例如,一旦我拥有它([71 155 90]),我想将它保存到记事本、Excel 工作表或一些简单的方法或参考我的结果。
我尝试查找有关如何导出值的教程,但它们使用了很多不同的术语,我不知道从哪里开始。
import numpy as np
import cv2
img = cv2.imread('dog.jpg', cv2.IMREAD_COLOR)
px = img[16,16]
print(px)
我唯一得到的是终端中的 RBG 输出 [71 155 90]。我不知道从那里做什么。我不知道如何导出值。
解决方案
我目前正在研究类似的东西,而不是我正在处理图像的视频,所以我四处寻找有关如何从文件夹中批量导出图像/帧并将数据保存到 numpy 数组中的教程。这是我的代码示例 *不确定里面有多少错误,但它能够将图像帧加载并保存到数组中。我使用 tqdm 来显示一个简单的进度条,以便我知道调用此函数时图像加载的状态。
def img_readph(path):
readph =[i for i in listdir(path) if isfile(join(path,i))]
img = np.empty(len(readph), dtype=object)
for j in tqdm(range(0, len(readph))):
img[j] = cv2.imread(join(path,readph[j]))
return img
为了加载和处理当前保存在 numpy 数组堆栈中的图像,我使用这组代码进行提取,执行基本的 psnr 计算并将数据保存到 .txt(学习如何转换结果到一个.csv,我也可以在python中加载/保存/追加以供将来编辑)。
for index in tqdm(range(len(img))):
(psnr, meanerror) = calculate_psnr(imgGT[index], imgSR[index])
print('Image No.{} has average mean square error of {} and the average PSNR is {}'.format(index,meanerror,psnr))
这样做可以让我循环之前的 numpy 数组中的每个视频帧,以执行计算 psnr 的操作。
您可以做的是尝试编写代码以使用以下方法将 RGB 值转换为函数,
txtfilename = input("enter filename: ")
with open(str(txtfilename)+".txt","w") as results:
for index in tqdm(range(0, len(img))) #the array from imread
img = cv2.imread('img', cv2.IMREAD_COLOR)
px = img[width, height]
print("The RBG values are {}".format(px), file=results)
我猜是这样的,希望对您有所帮助。
推荐阅读
- c# - 带有 int 数组参数的 Net Core API HttpPost
- python - Matplotlib:为什么插值点落在绘制线之外?
- java - 如何使用 BiConsumer 接受具有对象、字符串列表和变量的对象?
- c# - Git:如何管理 C# 库的依赖关系?
- javascript - React Hook 复杂状态,设置嵌套值
- php - 如何使用 AJAX 在我的 HTML 页面中显示我的 PHP 页面的输出?
- c++ - 将引用数组传递给模板指针数组
- java - Deeplearning4j:我将如何为使用 LSTM 的 RNN 准备这些数据?
- r - 在 R(或 numpy)中对列进行操作
- javascript - 使用 js 函数将 JSON 文件中的数据加载到 HTML 表中时遇到问题