我正在尝试将图像转换为视频,但它没有获得正确的序列,因此我使用glob来组织它。在此之后我得到了错误,然后我将代码缩减到了这个:
import re
import glob
import cv2
numbers = re.compile(r'(\d+)')
def numericalSort(value):
parts = numbers.split(value)
parts[1::2] = map(int, parts[1::2])
return parts
for infile in sorted(glob.glob('*.jpg'), key=numericalSort):
img1 = cv2.imread(infile)
cv2.imshow('image', img1)
exit()
由于某种原因,它没有显示'img1'。
我想我不能为变量调用“cv2.imread”,因为在我之前的代码中,当我调用opencv函数来处理'img1'时,它会说“它不是一个有效数组”。< / p>
所以,我的问题是,为什么不运行imshow,我怎么能使用图像“”“后面”“”infile并使用这个文件。
答案 0 :(得分:0)
您需要致电waitKey()
才能使imshow()
正常工作。
例如:
import re
import glob
import cv2
numbers = re.compile(r'(\d+)')
def numericalSort(value):
parts = numbers.split(value)
parts[1::2] = map(int, parts[1::2])
return parts
for infile in sorted(glob.glob('*.jpg'), key=numericalSort):
img1 = cv2.imread(infile)
cv2.imshow('image', img1)
k = cv2.waitKey(33)
if k==27: # Escape to quit
break