python - 为什么 cv2 中的 imshow 和 imwrite 会出现此错误?
问题描述
我正在使用 hamamatsu 相机,我拍摄了几张图像(numpy 数组),然后从第一个中减去第二个,如下所示:
if dcam.wait_capevent_frameready(timeout_milisec) is not False:
data=dcam.buf_getframedata(x)
vec_cap[x] = data
if x == 0:
val_fin = data
elif x%2==0:
val_fin = val_fin+data
else:
val_fin = val_fin+(-1)*data
但是当我想显示图像结果时,我遇到了这个错误: src_depth != CV_16F && src_depth != CV_32S in function 'convertToShow' 我将数组更改为 uint8:
if val_fin.dtype==np.uint16:
val_max = np.amax(val_fin)
val_mul = int(65535/val_max)
val_fin = val_fin*val_mul
print(val_fin)
np.savetxt("imagen.csv", val_fin, delimiter=",")
cv2.imshow('Imagen final', val_fin)
cv2.imwrite('Imagen final.png', val_fin)
如果我只拍摄 1 张图像它可以工作,但是当我做更多并且 val_fin 是结果 ob 减去错误出现时,有人可以帮助我吗?谢谢。
解决方案
推荐阅读
- r - 如何使用代码在 Rstudio 中保存绘图?
- javascript - Vee-validate Basic 示例不起作用 - 未定义错误
- javascript - 如何在nodejs中释放指针变量?
- dns - AWS Route 53 域的 AWS SES 验证失败
- azure-functions - 是否可以在 Azure Functions 中托管 ServiceStack 项目?
- c++ - 将 LibRaw 链接到共享对象时出错
- aws-sdk - AWS .NET SDK 何时加载凭证文件?它是在启动时还是在初始化客户端或......?
- python-3.x - Anaconda 终端错误 pywin32_bootstrap
- javascript - 在 IndexedDB 中,如何从对象中返回数据库中所有记录的值?
- bash - 正则表达式中的匹配括号在 bash 中不起作用