最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

OpenCV簡介

OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。如今也提供對于C#、Ch、Ruby,GO的支持。
所有新的開發(fā)和算法都是用C++接口。一個使用CUDA的GPU接口也于2010年9月開始實現(xià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
  #這一個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
  #當執(zhí)行了以上的兩步時候,并且左鍵是松開的,就可以進行截出一張圖片。
  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)
#這時創(chuàng)建一個對像
cap = cv2.VideoCapture("C:/test2/bbb.mp4")
#這是命名一個窗口,與下面的鼠標結(jié)合,鼠標會在這個窗口中產(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',就進行切割。
  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]這個先是行,再是列。

總結(jié)

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

相關(guān)文章

  • Python 深入了解opencv圖像分割算法

    Python 深入了解opencv圖像分割算法

    本文主要介紹了Python通過opencv實現(xiàn)圖像分割的詳細過程與代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • python 基于opencv實現(xiàn)圖像增強

    python 基于opencv實現(xiàn)圖像增強

    這篇文章主要介紹了python 基于opencv實現(xiàn)圖像增強的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python繪制雪景圖

    python繪制雪景圖

    這篇文章主要為大家詳細介紹了python繪制雪景圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • python多進程并行代碼實例

    python多進程并行代碼實例

    這篇文章主要介紹了python多進程并行代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python實現(xiàn)批量下載excel表中超鏈接圖片

    Python實現(xiàn)批量下載excel表中超鏈接圖片

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)批量下載excel表中超鏈接圖片,文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下
    2024-11-11
  • python進行相關(guān)性分析并繪制散點圖詳解

    python進行相關(guān)性分析并繪制散點圖詳解

    這篇文章主要介紹了python進行相關(guān)性分析并繪制散點圖,具有一定借鑒價值,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • 用Python的Django框架完成視頻處理任務的教程

    用Python的Django框架完成視頻處理任務的教程

    這篇文章主要介紹了用Python的Django框架完成視頻處理任務的教程,包括用戶的視頻上傳和播放以及下載功能的實現(xiàn),需要的朋友可以參考下
    2015-04-04
  • Python NumPy中diag函數(shù)的使用說明

    Python NumPy中diag函數(shù)的使用說明

    這篇文章主要介紹了Python NumPy中diag函數(shù)的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)

    PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)

    這篇文章主要介紹了PyQt5.6+pycharm配置以及pyinstaller生成exe,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Django實現(xiàn)學生管理系統(tǒng)

    Django實現(xiàn)學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Django實現(xiàn)學生管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02

最新評論

寻乌县| 新巴尔虎左旗| 富源县| 田东县| 郓城县| 苏尼特左旗| 宾川县| 濮阳市| 逊克县| 乐亭县| 盖州市| 买车| 金阳县| 诸城市| 桃源县| 黄浦区| 阿巴嘎旗| 老河口市| 石柱| 江口县| 平塘县| 思茅市| 新宾| 扎兰屯市| 葫芦岛市| 龙里县| 定陶县| 岚皋县| 平顺县| 桐庐县| 敦化市| 南投县| 灵石县| 稷山县| 烟台市| 泰州市| 吴堡县| 长治市| 成安县| 高青县| 昭通市|