欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

opencv python在視屏上截圖功能的實(shí)現(xiàn)

 更新時(shí)間:2020年03月05日 09:32:01   作者:命運(yùn)使我們相遇  
OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。這篇文章主要介紹了opencv python在視屏上截圖,需要的朋友可以參考下

OpenCV簡(jiǎn)介

OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類(lèi)構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。
OpenCV用C++語(yǔ)言編寫(xiě),它的主要接口也是C++語(yǔ)言,但是依然保留了大量的C語(yǔ)言接口。該庫(kù)也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。這些語(yǔ)言的API接口函數(shù)可以通過(guò)在線文檔獲得。如今也提供對(duì)于C#、Ch、Ruby,GO的支持。
所有新的開(kāi)發(fā)和算法都是用C++接口。一個(gè)使用CUDA的GPU接口也于2010年9月開(kāi)始實(shí)現(xiàn)。

介紹

因?yàn)槲沂且粋€(gè)小白,所以代碼就比較簡(jiǎn)單,如果有錯(cuò)誤,希望大家可以評(píng)論下告訴我,感激。

效果

藍(lán)色框框是我們要截下的圖

在這里插入圖片描述

這是截完后的圖

在這里插入圖片描述

代碼

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
  #這一個(gè)if的作用是,當(dāng)鼠標(biāo)左鍵按下,記錄開(kāi)始的位置
  if event == cv2.EVENT_LBUTTONDOWN:
    f1 = 1
    h = x
    w = y
    print("w = ", w, "h = ", h)
  #這一步的作用是當(dāng)鼠標(biāo)滑動(dòng)時(shí),并且左鍵是按下的時(shí)候,就畫(huà)一個(gè)框框,并且記錄左后一個(gè)位置
  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
  #當(dāng)執(zhí)行了以上的兩步時(shí)候,并且左鍵是松開(kāi)的,就可以進(jìn)行截出一張圖片。
  if f1 == 1 and f2 == 1 and event == cv2.EVENT_LBUTTONUP:
    #下面兩個(gè)if是向各個(gè)方向上截圖的考慮
    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)
#這時(shí)創(chuàng)建一個(gè)對(duì)像
cap = cv2.VideoCapture("C:/test2/bbb.mp4")
#這是命名一個(gè)窗口,與下面的鼠標(biāo)結(jié)合,鼠標(biāo)會(huì)在這個(gè)窗口中產(chǎn)生效果
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',就進(jìn)行切割。
  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]這個(gè)先是行,再是列。

總結(jié)

到此這篇關(guān)于opencv python在視屏上截圖的文章就介紹到這了,更多相關(guān)opencv 視屏截圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python根據(jù)站點(diǎn)列表繪制站坐標(biāo)全球分布圖的示例

    Python根據(jù)站點(diǎn)列表繪制站坐標(biāo)全球分布圖的示例

    這篇文章主要介紹了Python根據(jù)站點(diǎn)列表繪制站坐標(biāo)全球分布圖,輸入站點(diǎn)列表文件、snx全球站點(diǎn)坐標(biāo)文件,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • Django 反向生成url實(shí)例詳解

    Django 反向生成url實(shí)例詳解

    這篇文章主要介紹了Django 反向生成url實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python格式化輸出的具體實(shí)現(xiàn)

    Python格式化輸出的具體實(shí)現(xiàn)

    本文主要介紹了Python格式化輸出的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • OpenCV-Python 實(shí)現(xiàn)兩張圖片自動(dòng)拼接成全景圖

    OpenCV-Python 實(shí)現(xiàn)兩張圖片自動(dòng)拼接成全景圖

    圖片的全景拼接如今已不再稀奇,現(xiàn)在的智能攝像機(jī)和手機(jī)攝像頭基本都帶有圖片自動(dòng)全景拼接的功能,本文使用OpenCV-Python 實(shí)現(xiàn)兩張圖片自動(dòng)拼接成全景圖,感興趣的可以了解一下
    2021-06-06
  • PyQt5實(shí)現(xiàn)QLineEdit添加clicked信號(hào)的方法

    PyQt5實(shí)現(xiàn)QLineEdit添加clicked信號(hào)的方法

    今天小編就為大家分享一篇PyQt5實(shí)現(xiàn)QLineEdit添加clicked信號(hào)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Python異常處理如何才能寫(xiě)得優(yōu)雅(retrying模塊)

    Python異常處理如何才能寫(xiě)得優(yōu)雅(retrying模塊)

    異常就是程序運(yùn)行時(shí)發(fā)生錯(cuò)誤的信號(hào),下面這篇文章主要給大家介紹了關(guān)于Python異常處理的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 解決pyinstaller打包exe文件出現(xiàn)命令窗口一閃而過(guò)的問(wèn)題

    解決pyinstaller打包exe文件出現(xiàn)命令窗口一閃而過(guò)的問(wèn)題

    今天小編就為大家分享一篇解決pyinstaller打包exe文件出現(xiàn)命令窗口一閃而過(guò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python小程序之飄落的銀杏

    python小程序之飄落的銀杏

    這篇文章主要介紹了利用制作的python小程序-飄落的銀杏,代碼詳細(xì),簡(jiǎn)單易懂,有需要練習(xí)python的朋友可以參考下
    2021-04-04
  • python?numpy.linalg.norm函數(shù)的使用及說(shuō)明

    python?numpy.linalg.norm函數(shù)的使用及說(shuō)明

    這篇文章主要介紹了python?numpy.linalg.norm函數(shù)的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python lambda表達(dá)式用法實(shí)例分析

    Python lambda表達(dá)式用法實(shí)例分析

    這篇文章主要介紹了Python lambda表達(dá)式用法,結(jié)合實(shí)例形式分析了lambda表達(dá)式的具體功能、應(yīng)用場(chǎng)景及相關(guān)使用技巧,需要的朋友可以參考下
    2018-12-12

最新評(píng)論