程序中使用OpenCV和Image反复保存图片并打开,经常会报「PermissionError: [Errno 13] Permission denied 」这个错误,尝试将图片格式统一为opencv或image也没什么用。
查来查去原因大概是在新的图片还没保存好的时候已经开始执行打开图片的命令了,在打开图片之前加上time.sleep(1)完美解决。
顺带附上image与opencv与numpy相互转换代码
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
img = Image.fromarray(img)
img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)
这里注意RGB2BGR是彩色图像之间相互转换,如果图片格式不是彩色会报错,要改成自己的HSV或者GRAY等等
img = np.array(img)