ToB企服应用市场:ToB评测及商务社交产业平台

标题: Python武器库 - 科研中常用的python图像操纵 - 图像显示 [打印本页]

作者: 种地    时间: 2024-6-19 17:30
标题: Python武器库 - 科研中常用的python图像操纵 - 图像显示
应用场景:在科研中,利用python(opencv)对图像进行操纵后,
通常需要实时检察操纵效果并实行调整,
而每次都在文件夹中打开检察是很麻烦的,
这就需要我们可以或许直接通过代码对图像进行可视化展示。
这里主要用到cv2中的**imshow(), waitKey() 和 destroyWindow()/destroyAllWindows() **函数,
(2)cv2.destroyAllWindows()
答应用户在退出脚本后随时销毁或关闭所有窗口。
如果同时打开多个窗口且想要关闭,可以利用此函数。
该函数不接受任何参数,也不返回任何内容
示例代码一:
  1. import cv2
  2. img1 = cv2.imread('example_img/img1.png')
  3. img2 = cv2.imread('example_img/img2.png')
  4. cv2.imshow('lingdu show image1', img1)
  5. cv2.imshow('lingdu show image2', img2)
  6. cv2.waitKey(0)
  7. cv2.destroyAllWindows()
复制代码
运行效果:

示例代码二:
  1. import cv2
  2. img1 = cv2.imread('example_img/img1.png')
  3. img2 = cv2.imread('example_img/img2.png')
  4. cv2.imshow('lingdu show image1', img1)
  5. cv2.imshow('lingdu show image2', img2)
  6. cv2.waitKey(0)
  7. cv2.destroyWindow('lingdu show image1')
复制代码
运行效果:


在第一张图中,展示了代码运行后,窗口展示了img1和img2两张图片;
第二张图中,在按下任意键后,'lingdu show image1'窗口被销毁,只剩下'lingdu show image2'窗口
Bug补充:
在实际利用中,经常会碰到
调用了cv2.destroyAllWindows()之后窗口卡死不动、无法关闭的情况
解决办法:
在cv2.destroyAllWindows()后,
再调用一次cv2.waitKey(1),重新显示一帧画面后即可自动退出窗口。
比方:
  1. import cv2
  2. img1 = cv2.imread('example_img/img1.png')
  3. cv2.imshow('lingdu show image1', img1)
  4. cv2.waitKey(0)
  5. cv2.destroyAllWindows()
  6. cv2.waitKey(1)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4