温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

opencv python在视屏上截图功能的实现方法

发布时间:2021-05-18 10:57:26 来源:亿速云 阅读:270 作者:小新 栏目:开发技术

小编给大家分享一下opencv python在视屏上截图功能的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

OpenCV简介

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

介绍

因为我是一个小白,所以代码就比较简单,如果有错误,希望大家可以评论下告诉我,感激。

效果

蓝色框框是我们要截下的图

opencv python在视屏上截图功能的实现方法

这是截完后的图

opencv python在视屏上截图功能的实现方法

代码

import cv2 import numpy as np import matplotlib.pyplot as plt i = w = h = f1 = f2 = ew = eh = 0 def cut(event, x, y, flags, param):   global i,w,h, f1,f2,ew,eh   img = 0   #这一个if的作用是,当鼠标左键按下,记录开始的位置   if event == cv2.EVENT_LBUTTONDOWN:     f1 = 1     h = x     w = y     print("w = ", w, "h = ", h)   #这一步的作用是当鼠标滑动时,并且左键是按下的时候,就画一个框框,并且记录左后一个位置   if event == cv2.EVENT_MOUSEMOVE and flags == cv2.EVENT_FLAG_LBUTTON:     img = frame.copy()     cv2.rectangle(img, (h,w), (x,y), (255,0,0),5)     cv2.imshow("frame", img)     f2 = 1     eh = x     ew = y   #当执行了以上的两步时候,并且左键是松开的,就可以进行截出一张图片。   if f1 == 1 and f2 == 1 and event == cv2.EVENT_LBUTTONUP:     #下面两个if是向各个方向上截图的考虑     if ew < w:       w,ew = ew,w     if eh < h:       eh,h = h, eh     i += 1     f1 = f2 = 0     img = frame[w:ew, h:eh]     path = "C:/test2/" + "%d"%i+".jpg"     cv2.imwrite(path,img) #这时创建一个对像 cap = cv2.VideoCapture("C:/test2/bbb.mp4") #这是命名一个窗口,与下面的鼠标结合,鼠标会在这个窗口中产生效果 cv2.namedWindow("frame",cv2.WINDOW_NORMAL) cv2.setMouseCallback("frame",cut) while True:  #读取图片   ret, frame = cap.read()   if ret == False:     break   cv2.imshow("frame", frame)   #如果输入'c',就进行切割。   if cv2.waitKey(10) == ord("c"):     cv2.waitKey(0)   if cv2.waitKey(10) == ord('q'):     break

注意

x,y和 w,h, 的不同,x 代表的图像的列,y是代表着行
frame[w:ew, h:eh]这个先是行,再是列。

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

以上是“opencv python在视屏上截图功能的实现方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI