pyqt5如何实现捕捉的摄像头画面每点击一次保存一次?

Masec 2018-12-14 10:26:22
我使用pyqt5来制作界面,将摄像头的帧捕捉在lable中并显示。 我希望点击保存按钮可以保存当前显示的画面,点击刷新显示按钮后再次点击保存可以保存第二张图片(但不覆盖第一张图片),请问如何实现?
我目前的想法是在定义的保存函数中设定i=0,保存图片名为:imgpath = os.path.join("./img/", "000" + str(i) + ".jpg"),然后i -i+1。
但是调试的时候发现每次点击i都会被赋予初值0,然后不断的覆盖我的原始图片……
	
def save_lab(self):
i = 0
imgpath = os.path.join("./img/",classname + "000" + str(i) + ".jpg")
cv2.imwrite(imgpath, camimg)
i = i+1

请指点一下。
...全文
556 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Masec 2020-04-09
  • 打赏
  • 举报
回复
引用 7 楼 果蛋 的回复:
请问保存路径加在哪里?
imgpath = os.path.join("./img/",classname + "000" + str(i) + ".jpg")
就是这一句,你可以自己指定
冯•先森 2020-04-06
  • 打赏
  • 举报
回复
请问保存路径加在哪里?
Masec 2019-08-21
  • 打赏
  • 举报
回复
引用 4 楼 Daweixi 的回复:
请问楼主为什么我加进去cv2..imwrite,窗口就会闪退
检查一下你的保存地址有没有问题,camimg就是摄像头的画面,video capture得到的
Daweixi 2019-08-21
  • 打赏
  • 举报
回复
请问这个caming是怎么得到的
Daweixi 2019-08-21
  • 打赏
  • 举报
回复
请问楼主为什么我加进去cv2..imwrite,窗口就会闪退
Masec 2018-12-14
  • 打赏
  • 举报
回复
引用 2 楼 陈年椰子 的回复:
self.i = 0 放到类的初始化里。

万分感谢!谢谢您的指导!
陈年椰子 2018-12-14
  • 打赏
  • 举报
回复
self.i = 0 放到类的初始化里。
陈年椰子 2018-12-14
  • 打赏
  • 举报
回复
i = 0
移到 def save_lab(self):外

self.i = 0
def save_lab(self):
imgpath = os.path.join("./img/",classname + "000" + str(self.i ) + ".jpg")
cv2.imwrite(imgpath, camimg)
self.i =self.i +1

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧