亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Python實(shí)現(xiàn)有趣的鎖屏小工具

 更新時(shí)間:2023年12月30日 09:35:26   作者:銀空飛羽  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)有趣的鎖屏小工具,這樣再也不用擔(dān)心因?yàn)闆](méi)有鎖屏被扣工資啦,打工人快跟隨小編一起學(xué)習(xí)一下吧

寫(xiě)在前面

之前在公司,畢竟是干安全的,部門(mén)有這么一個(gè)要求,被發(fā)現(xiàn)不鎖屏的,請(qǐng)全部門(mén)喝奶茶。很不幸,我也出現(xiàn)過(guò)忘了鎖屏然后被發(fā)現(xiàn)的情況。自此之后,我就形成了肌肉記憶,同時(shí)也對(duì)別人不鎖屏很敏感。

為什么要強(qiáng)調(diào)鎖屏呢?你也不想你的電腦被別人操作吧,也不想自己的信息被別人獲取吧。畢竟防人之心不可無(wú)。

自打跳槽到新公司之后,每次去廁所的路上就看到有人電腦不鎖屏,真的是令我無(wú)比的糾結(jié)。鎖個(gè)屏幕有那么難嗎?確實(shí)很難,有時(shí)候一忙就容易忘,于是我就想實(shí)現(xiàn)一個(gè)離開(kāi)電腦自動(dòng)鎖屏的程序。

分析

這玩意實(shí)現(xiàn)也不難,簡(jiǎn)單思考一下,就是讓電腦檢測(cè)人在不在電腦前面,那就是要試試捕獲攝像頭了,然后設(shè)置一個(gè)間隔時(shí)間,每隔一段時(shí)間截取圖片,做人臉識(shí)別,沒(méi)有人臉了就鎖屏就行了。

涉及到攝像頭圖片處理,直接讓人聯(lián)想到opencv,然后再用python實(shí)現(xiàn)上面的一套邏輯,就搞定。

代碼

安裝opencv的庫(kù)

pip install opencv-python

直接上代碼:

import cv2
import time
import os
import platform

# 檢測(cè)操作系統(tǒng)
def detect_os():
    os_name = platform.system()
    if os_name == 'Windows':
        return 'windows'
    elif os_name == 'Darwin':
        return 'mac'
    else:
        return 'other'

# 執(zhí)行鎖屏命令
def lock_screen(os_type):
    if os_type == 'windows':
        os.system('rundll32.exe user32.dll, LockWorkStation')
    elif os_type == 'mac':
        os.system('/System/Library/CoreServices/"Menu Extras"/User.menu/Contents/Resources/CGSession -suspend')
    

# 初始化攝像頭
cap = cv2.VideoCapture(0)

# 載入OpenCV的人臉檢測(cè)模型
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

# 無(wú)人狀態(tài)計(jì)時(shí)器
no_person_timer = 0
# 設(shè)定無(wú)人狀態(tài)時(shí)間閾值
NO_PERSON_THRESHOLD = 3

# 檢測(cè)操作系統(tǒng)類(lèi)型
os_type = detect_os()

while True:
    ret, frame = cap.read()
    if not ret:
        break

    # 轉(zhuǎn)換為灰度圖像
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.1, 4)

    if len(faces) == 0:
        no_person_timer += 1
    else:
        no_person_timer = 0

    # 如果超過(guò)閾值,則鎖屏
    if no_person_timer > NO_PERSON_THRESHOLD:
        lock_screen(os_type)
        no_person_timer = 0

    time.sleep(1)

cap.release()

代碼里都做好了注釋?zhuān)芎?jiǎn)單,因?yàn)閣indows和macOS的鎖屏指令不一樣,所以做了個(gè)簡(jiǎn)單的系統(tǒng)平臺(tái)判斷。

可以完美執(zhí)行,就是它得一直調(diào)用攝像頭,應(yīng)該也不會(huì)有人真的使用這玩意吧,hhh。

到此這篇關(guān)于使用Python實(shí)現(xiàn)有趣的鎖屏小工具的文章就介紹到這了,更多相關(guān)Python鎖屏內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python+Empyrical實(shí)現(xiàn)計(jì)算風(fēng)險(xiǎn)指標(biāo)

    Python+Empyrical實(shí)現(xiàn)計(jì)算風(fēng)險(xiǎn)指標(biāo)

    Empyrical 是一個(gè)知名的金融風(fēng)險(xiǎn)指標(biāo)庫(kù)。它能夠用于計(jì)算年平均回報(bào)、最大回撤、Alpha值等。下面就教你如何使用 Empyrical 這個(gè)風(fēng)險(xiǎn)指標(biāo)計(jì)算神器
    2022-05-05
  • Python中利用sqrt()方法進(jìn)行平方根計(jì)算的教程

    Python中利用sqrt()方法進(jìn)行平方根計(jì)算的教程

    這篇文章主要介紹了Python中利用sqrt()方法進(jìn)行平方根計(jì)算的教程,是Python學(xué)習(xí)的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Python基本socket通信控制操作示例

    Python基本socket通信控制操作示例

    這篇文章主要介紹了Python基本socket通信控制操作,結(jié)合實(shí)例形式分析了Python socket通信服務(wù)器端與客戶(hù)端相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-01-01
  • Django框架之路由用法

    Django框架之路由用法

    這篇文章介紹了Django框架之路由的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • python3.5 email實(shí)現(xiàn)發(fā)送郵件功能

    python3.5 email實(shí)現(xiàn)發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了python3.5 email實(shí)現(xiàn)發(fā)送郵件功能,包含txt、圖片、HTML、附件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 深入了解Django中間件及其方法

    深入了解Django中間件及其方法

    這篇文章主要介紹了簡(jiǎn)單了解Django中間件及其方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python對(duì)字符串實(shí)現(xiàn)去重操作的方法示例

    Python對(duì)字符串實(shí)現(xiàn)去重操作的方法示例

    字符串去重是python中字符串操作常見(jiàn)的一個(gè)需求,最近在工作中就又遇到了,所以下面這篇文章主要給大家介紹了關(guān)于Python對(duì)字符串實(shí)現(xiàn)去重操作的相關(guān)資料,文中給出了詳細(xì)的介紹,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • 關(guān)于自動(dòng)化測(cè)試框架pytest的Fixture固件

    關(guān)于自動(dòng)化測(cè)試框架pytest的Fixture固件

    這篇文章主要介紹了關(guān)于自動(dòng)化測(cè)試框架pytest的Fixture固件,Fixture它其實(shí)就是一些函數(shù),會(huì)在執(zhí)行測(cè)試方法/測(cè)試函數(shù)前后加載運(yùn)行它們,需要的朋友可以參考下
    2023-03-03
  • Django中cookie的基本使用方法示例

    Django中cookie的基本使用方法示例

    這篇文章主要給大家介紹了關(guān)于Django中cookie的基本使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 利用Opencv中Houghline方法實(shí)現(xiàn)直線檢測(cè)

    利用Opencv中Houghline方法實(shí)現(xiàn)直線檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了利用Opencv中的Houghline方法進(jìn)行直線檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評(píng)論