From 47f7f75bba15d3402fe43cc21cb3e2e3eca1fb3b Mon Sep 17 00:00:00 2001 From: flt6 <1404262047@qq.com> Date: Sat, 25 Nov 2023 22:51:14 +0800 Subject: [PATCH] Tidy files Former-commit-id: 3ad18d4bae036b9c55576f4c8b726a32a4e30c76 --- English_Listening_cut/main.py | 3 +- English_Listening_cut/main_json.py | 88 ------------- README.md | 78 ++++++++++++ autostart.py | 10 ++ bfg-1.14.0.jar.REMOVED.git-id | 1 + changeConnectionLimit/main.bat | 39 ++++++ fast_pull/main.py | 4 + jyeoo_dl/getcookie.png | Bin 119835 -> 0 bytes move_warn/{t2.py => main.py} | 192 ++++++++++++++--------------- pwd.txt | 4 + seat_map/main.py | 74 +++++++++++ zxxk_dl/main.py | 4 +- 12 files changed, 308 insertions(+), 189 deletions(-) delete mode 100644 English_Listening_cut/main_json.py create mode 100644 README.md create mode 100644 autostart.py create mode 100644 bfg-1.14.0.jar.REMOVED.git-id create mode 100644 changeConnectionLimit/main.bat create mode 100644 fast_pull/main.py delete mode 100644 jyeoo_dl/getcookie.png rename move_warn/{t2.py => main.py} (94%) create mode 100644 pwd.txt create mode 100644 seat_map/main.py diff --git a/English_Listening_cut/main.py b/English_Listening_cut/main.py index dde8f09..e6f0ed7 100644 --- a/English_Listening_cut/main.py +++ b/English_Listening_cut/main.py @@ -7,10 +7,9 @@ from traceback import print_exc def init(): if len(argv) != 2: - print("Usage: a.py file.mp3") + print(f"Usage: {__file__} file.mp3") exit(1) return argv[1] - # return "新课程外研高一第32期.mp3" def make_dir(pth:str): if not path.isdir(pth): diff --git a/English_Listening_cut/main_json.py b/English_Listening_cut/main_json.py deleted file mode 100644 index 1359dc0..0000000 --- a/English_Listening_cut/main_json.py +++ /dev/null @@ -1,88 +0,0 @@ -from sys import argv,exit -from pydub import AudioSegment,silence -from os import path,mkdir,system -from shutil import rmtree -from traceback import print_exc -from json import dumps,loads - - -def init(): - if len(argv) != 2: - print("Usage: a.py file.mp3") - exit(1) - return argv[1] - # return "新课程外研高一第32期.mp3" - -def make_dir(pth:str): - if not path.isdir(pth): - try: - mkdir(pth) - except PermissionError: - print("Could not create directory '{pth}' because of permission error.".format(pth=pth)) - exit(-1) - else: - ipt=input(f"'{pth}' exists. Remove it [YES/no]: ") - if ipt == "" or ipt == "yes": - try: - rmtree(pth) - except PermissionError: - print("Could not remove '{pth}' because of permission error.".format(pth=pth)) - exit(-1) - mkdir(pth) - else: - print(f"Warning: Directory '{pth}' exists, which may influence the programm!") - -def cut(file:AudioSegment,length:list[int],keep=300) -> AudioSegment: - maxlen = len(file) - bgn,end=length - if bgn-keep>=0: - bgn-=keep - if end+keep<=maxlen: - end+=keep - return file[bgn:end] - -def main(): - file = init() - NAMES=["BASIC", "1-5", "Others"] - make_dir("OUTPUT") - for i in NAMES: - make_dir(f"OUTPUT/{i}") - print("Reading file ...") - file:AudioSegment = AudioSegment.from_file(file) - print("Detecting audio segments ...") - arr=silence.detect_nonsilent( - file, - silence_thresh=-100, - seek_step=500, - min_silence_len=4000 - ) - print("Cutting audio segments ...") - group=[] - groups=[] - - groups.append([(cut(file,arr[0]),'info'),(cut(file,arr[1]),'example')]) - for i in range(2,2+5): - group.append((cut(file,arr[i]),str(i-1))) - groups.append(group) - group=[] - for i in range(7,len(arr)-1,2): - group.append((cut(file,arr[i]),f"Tips_of_{(i-7)//2+6}")) - group.append((cut(file,arr[i+1]),f"Text_{(i-7)//2+6}")) - groups.append(group) - for i,group in enumerate(groups): - print(f"Saving audio segments '{NAMES[i]}' ...") - for f,name in group: - f.export(f"OUTPUT/{NAMES[i]}/{name}.mp3") - print("Done!") - - -if __name__ == '__main__': - try: - main() - except SystemExit: - system("pause") - except KeyboardInterrupt as e: - raise e - except Exception: - print("An unexpected exception occurred.") - print_exc() diff --git a/README.md b/README.md new file mode 100644 index 0000000..ba53c2b --- /dev/null +++ b/README.md @@ -0,0 +1,78 @@ +# 个人使用小工具集 + +## [修改连接数](changeConnectionLimit) + +win10修改wifi热点最大连接终端数 + +Usage:`main.bat` + +## [学*网预览下载](zxxk_dl) + +下载学*网资源,通过预览的形式,下载的文件以html形式保存。可以使用adobe Acrobat的打印转为pdf,文字版文件以svg下载,图片版原图。 + +1. 研究过程:[process.md](zxxk_dl/process.md) + +2. usage: `python main.py` +3. requirements: python, requests + +## adb快速传手机文件 + +源文件丢了,TODO + +## [并行auto-editor](mult) + +并行运行auto-editor, 递归转码所有视频。(PS:网课时用的) + +### files + +#### main.py + +主程序 + +### main_up.py + +使用hevc(CUDA)硬解码 + +### usage + +`python main.py` + +## 菁*网题目下载 + +**ATTENTION:目前制作时的账号疑似被封禁,请谨慎使用** + +如需打印,请使用浏览器打印或转pdf + +### Usage + +菁优网任意界面,F12抓Cookie +运行main.py,输入复制的内容,根据提示输入网址即可。 + +### requements + +python, requests,bs4 + +## [听力文件拆分](English_Listening_cut) + +基于学英语报的听力做听力文件拆解,拆分到每段对话 + +### Usage + +`python main.py` + +## seat_map + +文档TODO + +## 简单运动报警(move_warn) + +对ip摄像头画面进行简单运动捕捉,核心代码来自网络。效果:运动达到一定范围,发出声音警告后自动关闭程序。 + +### usage + +`python main.py` + +### requirements + +python, opencv + diff --git a/autostart.py b/autostart.py new file mode 100644 index 0000000..6f9188f --- /dev/null +++ b/autostart.py @@ -0,0 +1,10 @@ +from getpass import getpass +from subprocess import Popen + +cmd=input("SSH: ").split() +pwd=getpass() +port=cmd[2] +ip=cmd[3].replace("root@",f"root:{pwd}@") +print(ip,port) +Popen(fr'"C:\Program Files (x86)\NetSarang\Xshell 7\Xshell.exe" ssh://{ip}:{port}') +ssh=Popen(f"ssh -CNg -L 6006:127.0.0.1:6006 -p {port} {cmd[3]}") \ No newline at end of file diff --git a/bfg-1.14.0.jar.REMOVED.git-id b/bfg-1.14.0.jar.REMOVED.git-id new file mode 100644 index 0000000..0fa8f5a --- /dev/null +++ b/bfg-1.14.0.jar.REMOVED.git-id @@ -0,0 +1 @@ +688fe713674b914c519bef018aa47f7a8ba18d58 \ No newline at end of file diff --git a/changeConnectionLimit/main.bat b/changeConnectionLimit/main.bat new file mode 100644 index 0000000..db59812 --- /dev/null +++ b/changeConnectionLimit/main.bat @@ -0,0 +1,39 @@ +@echo off +:: Check if the script is run as administrator +NET SESSION >nul 2>&1 +if %errorLevel% neq 0 ( + echo Requesting administrator permissions... + goto runAsAdmin +) else ( + goto main +) + +:runAsAdmin +:: Request administrator permissions +powershell Start-Process "%0" -Verb RunAs +exit /B + +:main +:: Get user input for WifiMaxPeers value +set /p WifiMaxPeersInput="Enter WifiMaxPeers value (decimal): " + +:: Validate if the input is a number +set "WifiMaxPeers=%WifiMaxPeersInput%" 2>nul +if not defined WifiMaxPeers ( + echo Invalid input. Please enter a valid decimal number. + pause + exit /B +) + +:: Set the registry value +reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\icssvc\Settings" /v WifiMaxPeers /t REG_DWORD /d %WifiMaxPeers% /f + +echo WifiMaxPeers registry value set to %WifiMaxPeers%. + +echo Restarting icssvc service. + +net stop icssvc +net start icssvc + +echo Succeed. +pause diff --git a/fast_pull/main.py b/fast_pull/main.py new file mode 100644 index 0000000..04ef91e --- /dev/null +++ b/fast_pull/main.py @@ -0,0 +1,4 @@ +from subprocess import run + +path="Sounds" +# Get file list \ No newline at end of file diff --git a/jyeoo_dl/getcookie.png b/jyeoo_dl/getcookie.png deleted file mode 100644 index bc3a1e300f0fa9e763e39464fe605d922974d079..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119835 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

P!y&?%!O$(I8O*e-``+z$f&p}s7?@hFxy4}6- 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 zƆ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 U^XCLkxx@ejp00i_>zopr0OY31NdN!< diff --git a/move_warn/t2.py b/move_warn/main.py similarity index 94% rename from move_warn/t2.py rename to move_warn/main.py index 3594004..5d5bbb3 100644 --- a/move_warn/t2.py +++ b/move_warn/main.py @@ -1,97 +1,95 @@ -import cv2 -import numpy as np -from winsound import PlaySound,SND_ALIAS,SND_ASYNC -from time import time -# Beep(500,500) - -# camera = cv2.VideoCapture(0) # 参数0表示第一个摄像头 -# camera = cv2.VideoCapture("opt.flv") -camera = cv2.VideoCapture("http://192.168.124.17:8081/live.flv") -# 判断视频是否打开 -if (camera.isOpened()): - print('Open') -else: - print('摄像头未打开') - -# 测试用,查看视频size -size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)), int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT))) -print('size:'+repr(size)) - -es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4)) -kernel = np.ones((5, 5), np.uint8) -background = None -cnt = 0 -tot = 0 -last = time() -mask = np.array([(0, 0),(282, 0),(282, 26),(0, 26)]) - -# cv2.waitKey(5) - -while True: -# 读取视频流 - try: - grabbed, frame_lwpCV = camera.read() - cv2.waitKey(5) - cv2.fillConvexPoly(frame_lwpCV, mask,(0,255,0)) - cv2.imshow("src",frame_lwpCV) - except cv2.error: - print("ignore this frame") - continue -# 对帧进行预处理,先转灰度图,再进行高斯滤波。 -# 用高斯滤波进行模糊处理,进行处理的原因:每个输入的视频都会因自然震动、光照变化或者摄像头本身等原因而产生噪声。对噪声进行平滑是为了避免在运动和跟踪时将其检测出来。 - gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY) - gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0) -# 将第一帧设置为整个输入的背景 - if background is None: - background = gray_lwpCV - continue -# 对于每个从背景之后读取的帧都会计算其与北京之间的差异,并得到一个差分图(different map)。 -# 还需要应用阈值来得到一幅黑白图像,并通过下面代码来膨胀(dilate)图像,从而对孔(hole)和缺陷(imperfection)进行归一化处理 - diff = cv2.absdiff(background, gray_lwpCV) - # cv2.imshow('abs', diff) - diff = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1] # 二值化阈值处理 - diff = cv2.dilate(diff, es, iterations=2) # 形态学膨胀 -# 显示矩形框 - contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 该函数计算一幅图像中目标的轮廓 - contours = [c for c in contours if cv2.contourArea(c) >= 1500] - # 对于矩形区域,只显示大于给定阈值的轮廓,所以一些微小的变化不会显示。对于光照不变和噪声低的摄像头可不设定轮廓最小尺寸的阈值 - total=0 - for c in contours: - # if cv2.contourArea(c) < 1500: - # continue - total += cv2.contourArea(c) - (x, y, w, h) = cv2.boundingRect(c) # 该函数计算矩形的边界框 - cv2.rectangle(frame_lwpCV, (x, y), (x+w, y+h), (0, 255, 0), 2) - - cv2.imshow('contours', frame_lwpCV) - cv2.imshow('dis', diff) - - if len(contours)>0 and total>10000: - cnt+=1 - if cnt > 5: - if time()-last<5: - print(time(),last) - tot+=1 - else: - print("else: ",time(),last) - tot = 1 - last = time() - cnt = 0 - print("################################") - PlaySound("SystemAsterisk",SND_ALIAS|SND_ASYNC) - background = gray_lwpCV - else: - cnt=cnt-1 if cnt>0 else 0 - - if tot>4: - PlaySound("SystemHand",SND_ALIAS) - exit() - - key = cv2.waitKey(1) & 0xFF -# 按'L'健退出循环 - if key == ord('L'): - break - - -camera.release() -cv2.destroyAllWindows() +import cv2 +import numpy as np +from winsound import PlaySound,SND_ALIAS,SND_ASYNC +from time import time +# Beep(500,500) + +camera = cv2.VideoCapture("http://192.168.124.17:8081/live.flv") +# 判断视频是否打开 +if (camera.isOpened()): + print('Open') +else: + print('摄像头未打开') + +# 测试用,查看视频size +size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)), int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT))) +print('size:'+repr(size)) + +es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4)) +kernel = np.ones((5, 5), np.uint8) +background = None +cnt = 0 +tot = 0 +last = time() +mask = np.array([(0, 0),(282, 0),(282, 26),(0, 26)]) + +# cv2.waitKey(5) + +while True: +# 读取视频流 + try: + grabbed, frame_lwpCV = camera.read() + cv2.waitKey(5) + cv2.fillConvexPoly(frame_lwpCV, mask,(0,255,0)) + cv2.imshow("src",frame_lwpCV) + except cv2.error: + print("ignore this frame") + continue +# 对帧进行预处理,先转灰度图,再进行高斯滤波。 +# 用高斯滤波进行模糊处理,进行处理的原因:每个输入的视频都会因自然震动、光照变化或者摄像头本身等原因而产生噪声。对噪声进行平滑是为了避免在运动和跟踪时将其检测出来。 + gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY) + gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0) +# 将第一帧设置为整个输入的背景 + if background is None: + background = gray_lwpCV + continue +# 对于每个从背景之后读取的帧都会计算其与北京之间的差异,并得到一个差分图(different map)。 +# 还需要应用阈值来得到一幅黑白图像,并通过下面代码来膨胀(dilate)图像,从而对孔(hole)和缺陷(imperfection)进行归一化处理 + diff = cv2.absdiff(background, gray_lwpCV) + # cv2.imshow('abs', diff) + diff = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1] # 二值化阈值处理 + diff = cv2.dilate(diff, es, iterations=2) # 形态学膨胀 +# 显示矩形框 + contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 该函数计算一幅图像中目标的轮廓 + contours = [c for c in contours if cv2.contourArea(c) >= 1500] + # 对于矩形区域,只显示大于给定阈值的轮廓,所以一些微小的变化不会显示。对于光照不变和噪声低的摄像头可不设定轮廓最小尺寸的阈值 + total=0 + for c in contours: + # if cv2.contourArea(c) < 1500: + # continue + total += cv2.contourArea(c) + (x, y, w, h) = cv2.boundingRect(c) # 该函数计算矩形的边界框 + cv2.rectangle(frame_lwpCV, (x, y), (x+w, y+h), (0, 255, 0), 2) + + cv2.imshow('contours', frame_lwpCV) + cv2.imshow('dis', diff) + + if len(contours)>0 and total>10000: + cnt+=1 + if cnt > 5: + if time()-last<5: + print(time(),last) + tot+=1 + else: + print("else: ",time(),last) + tot = 1 + last = time() + cnt = 0 + print("################################") + PlaySound("SystemAsterisk",SND_ALIAS|SND_ASYNC) + background = gray_lwpCV + else: + cnt=cnt-1 if cnt>0 else 0 + + if tot>4: + PlaySound("SystemHand",SND_ALIAS) + exit() + + key = cv2.waitKey(1) & 0xFF +# 按'L'健退出循环 + if key == ord('L'): + break + + +camera.release() +cv2.destroyAllWindows() diff --git a/pwd.txt b/pwd.txt new file mode 100644 index 0000000..8168732 --- /dev/null +++ b/pwd.txt @@ -0,0 +1,4 @@ +***REMOVED*** +***REMOVED******REMOVED*** +***REMOVED*** +***REMOVED******REMOVED*** diff --git a/seat_map/main.py b/seat_map/main.py new file mode 100644 index 0000000..85cc415 --- /dev/null +++ b/seat_map/main.py @@ -0,0 +1,74 @@ +import numpy as np +from pandas import DataFrame + +# seat = np.arange(48,dtype=np.byte).reshape((4,2,6)) +seat = np.fromfile('seat.dat',dtype=np.byte).reshape((4,2,6)) +print(seat.shape) + +maps = np.arange(4) +maps[-1]=maps[0] +maps[:-1]+=1 + +seat[:,:,-1]=seat[:,:,0] +seat[:,:,0:-1]+=1 +seat = seat[maps,:,:] + +seat.tofile("seat.dat") + +names = np.array([ + "张姝肜", + "乔旺源", + "焦祺", + "丛金旺", + "周巧冉", + "张日昊", + "刘卓", + "宋智宪", + "张文桦", + "王子来", + "姜樱楠", + "于诗澳", + "张潇艺", + "李语恒", + "*", + "张晓轩", + "宋佳怡", + "宋雨蔓", + "于世函", + "王梁宇", + "*", + "毕一聪", + "娄晴", + "黄卓琳", + "刘宇航", + "刘雨鑫", + "庞惠铭", + "徐子灏", + "阎展博", + "崔子豪", + "王明仁", + "王耀增", + "李善伊", + "吴庆波", + "樊乐天", + "潘一鸣", + "洛艺伟", + "周含笑", + "苏振宇", + "沈洁", + "李柏畅", + "毕思淼", + "张濠亿", + "李怡萱", + "高镆", + "张妍", + "杨颜聪", + "李南卓阳" +]) +opt = seat.reshape((8,6)) +opt = opt[:,::-1] +print(DataFrame(opt)) +opt = names[opt] +with open("seat.csv", "w", encoding="gb2312") as f: + for i in range(6): + print(",".join(opt[:,i]),file=f) \ No newline at end of file diff --git a/zxxk_dl/main.py b/zxxk_dl/main.py index eff3a92..619dc63 100644 --- a/zxxk_dl/main.py +++ b/zxxk_dl/main.py @@ -30,7 +30,7 @@ def writefile(filename,text): def main(): softID=input("ID: ") url = "https://www.zxxk.com/soft/Preview/FirstLoadPreviewJson?softID={}&type=3&product=1&v=2&FullPreview=true" - response = requests.get(url.format(softID)) + response = requests.get(url.format(softID),verify=False) if response.status_code!=200: print("ERROR") print(response.status_code) @@ -66,7 +66,7 @@ def main(): if "jpg" in url: l.append(f"") continue - page=requests.get(url,cookies=response.cookies) + page=requests.get(url,cookies=response.cookies,verify=False) if not page.status_code==200: print(page) print(page.status_code)