- 博客(79)
- 资源 (2)
- 收藏
- 关注
原创 ffmpeg-将多个视频切片成一个新的视频
使用 ffmpeg 工具可以轻松完成将多个视频切片合并为一个新的视频。以下是实现这一目标的具体步骤和命令。如果需要从大量视频中截取多个片段并合并,可以使用脚本自动化这一流程。-c:v libx264:指定视频编码器为 H.264(使用较高兼容性)。-crf 23:视频质量参数(可选,范围 0-51,数值越小质量越高)。如果音频部分需要统一,则建议重新编码并使用统一的音频采样率和音频编码器。使用 -c copy 时,只能合并具有相同时间戳格式的视频。-ss 00:00:10:从视频的第 10 秒开始截取。
2025-03-26 22:17:11
680
原创 TensorFlow-MNIST手写数字分类
TensorFlow 是一个功能强大的深度学习框架,可以用来构建、训练和部署机器学习模型。构建神经网络模型(回归、分类、生成模型等)。进行数值计算,并提供 GPU 加速。实现自动梯度求导(如反向传播训练)。应用机器学习模型进行预测。
2025-03-07 21:22:25
238
原创 python-常用的深度学习框架
全面生态:拥有众多子项目,如 Keras(高级建模接口)、TensorFlow Extended(机 器学习工作流)、TensorFlow Hub(预训练模型)等。生产部署:提供了强大的生产部署支持,包括 TensorFlow Serving、TensorFlow Lite 和 TensorFlow.js。拥有丰富的工具库,如 TorchVision(用于计算机视觉)、TorchText(自然语言处理)、TorchAudio(音频处理)等。动态计算图:支持动态构建和修改计算图,调试体验好,灵活性强。
2025-03-06 09:52:21
422
原创 ffmpeg常用方法(一)
通过-filter_complex使用复杂的滤镜链,[0:v][0:a][1:v][1:a][2:v][2:a]部分表示从三个输入文件(video1.mp4,video2.mp4和video3.mp4)中选择视频和音频流。注意:使用concat滤镜方法时,因为涉及到编解码,建议详细指定输出视频的编码设置,以保持你期望的视频质量。concat=n=3:v=1:a=1指定了要合并的视频数量(n=3),以及输出包含的视频(v=1)和音频轨道(a=1)数量。方法1:使用concat协议(适用于格式相同的视频)
2025-02-26 22:17:24
487
原创 python实现代理服务器转换
使用 http.server 模块和 requests 库来实现,代理服务器可拦截匹配指定路径的 HTTP 请求,并打印或存储请求头和响应体。覆盖了 do_GET 和 do_POST 方法,分别用于处理 GET 和 POST 请求。2、代理所有流量,而对指定的接口(如 /api/target)提取请求头和响应体。handle_target_request 用于拦截并处理目标接口的请求。forward_request 用于转发非目标接口的请求。对于非目标接口的请求,直接转发到目标服务器并返回响应。
2025-01-23 19:46:19
279
原创 指定替换图片中颜色
1、目标颜色:定义你想要替换的颜色target_color,包括RGBA(红色,绿色,蓝色,Alpha)通道的值。2、像素访问对象:load()方法创建一个像素访问对象,使得我们可以通过像素坐标访问和修改图像的像素颜色。4、定义新颜色:定义新颜色new_color,包括RGBA(红色,绿色,蓝色,Alpha)通道的值。5、替换颜色:使用两个嵌套的for循环,遍历定义的矩形区域,并将每个像素的颜色替换为新颜色。2、替换颜色:使用两个嵌套的for循环遍历整张图片,并将每个目标颜色的像素替换为新颜色。
2024-11-27 22:03:46
309
1
原创 Appium常用的使用方法(一)
隐式等待会告诉 WebDriver 在查找元素时,如果未立即找到,请在给定的时间内反复查找,直到找到为止。点击某个元素后,右侧面板会显示该元素的详细属性,比如 ID、XPath、Class Name、Text、Resource ID 等。应用启动后,Appium Inspector 会显示一个树状结构,表示应用中所有 UI 元素的层次关系。你可以在这个视图中查看所有可交互的元素,比如按钮、文本框、列表项等。鼠标移到树状结构中的任何元素上时,会高亮显示对应的 UI 元素。
2024-11-22 21:59:34
903
原创 mac安装appuim
你可以从Appium Desktop的GitHub页面(https://github.com/appium/appium-desktop/releases)下载最新的.dmg文件,然后按照常规的macOS应用安装步骤进行安装。要在macOS上安装Appium,这是一个自动化测试框架,可以用来对移动应用进行测试(支持iOS和Android应用)。为了安装Appium和其依赖的环境,你需要做一些准备工作。在安装好Node.js后,可以使用 npm (Node.js的包管理工具)来安装Appium。
2024-11-20 21:24:01
970
1
原创 分割图片及图片生成副本
计算新图像的尺寸:基于原始图像的尺寸和副本数量,我们计算出新图像的尺寸。3、最终,会生成一个宽度为原图宽度的grid_size[1]倍,高度为原图高度的grid_size[0]倍的新图片,其中包含了原始图片的多个复制宫格。2、通过遍历每个宫格区域,使用crop方法裁剪出相应的部分,然后使用paste方法,将这些裁剪后的图片复制到一个新创建的大图像中的相应位置。1、此代码首先读取指定路径的图片,然后根据提供的宫格大小grid_size参数(例如,(3, 3)表示3x3宫格)来计算每个宫格的尺寸。
2024-09-27 15:54:47
313
原创 定制静物商品背景及自定义抠图
请记住,真正高质量的抠图,尤其是细节如头发等复杂部分的抠图,可能需要更专业的图像处理工具或服务。为了完成这个任务,我们可以使用OpenCV进行简单的背景替换,对于复杂场景可以使用深度学习模型,比如removebg,用于提取前景。在这个示例中,我们将展示如何使用OpenCV来简化地替换背景,然后再简要介绍如何利用removebg API进行更高级的背景移除。对于复杂的背景,你可能更倾向于使用专门的工具或服务来处理,removebg是这样一个服务,它提供了一个能够自动去除图片背景的API。
2024-09-03 22:36:17
476
1
原创 更改图片中的部分颜色及修改图片的背景色
色调通道的数值范围通常是 0 到 179(0-360 度的一半),代表不同的颜色。这个方法适用于大部分简单的颜色替换场景,但如果场景较为复杂(比如颜色在图像中分布不均匀或者有多种亮度和饱和度的情况),可能需要更复杂的方法。高质量的背景替换,特别是在背景和前景颜色接近或者背景颜色不均匀的情况下,通常需要更高级的图像处理技术,如图像分割网络(例如DeepLab)或者使用AI模型。如果你想使用 Pillow 库来实现相同的功能,也可以进行类似的步骤,只是使用 Pillow 的方法来转换图像和访问不同的通道数据。
2024-08-30 21:50:57
1968
原创 图片去噪及边缘检测
一:在Python中,图片去噪可以通过不同的方法实现,这些方法包括使用简单的滤波技术到更复杂的算法,比如高斯模糊、中值滤波、非局部均值去噪(Non-local Means Denoising)等。Sobel边缘检测是基于Sobel算子的边缘检测方法,它通过计算图像灰度的空间梯度来检测边缘区域。二:在Python中,进行图片边缘检测常用的方法是使用OpenCV库,它提供了多种边缘检测算法,如Canny边缘检测、Sobel边缘检测、Laplacian边缘检测等。ksize: 核的大小。默认值为False。
2024-08-27 21:46:53
2065
1
原创 Pillow和OpenCV库生产镜像及图片虚拟化处理
在使用OpenCV时,cv2.flip()函数的第二个参数指定翻转轴,1表示沿着y轴翻转(水平翻转),0表示沿着x轴翻转(垂直翻转),-1则表示同时沿x和y轴翻转(即沿对角线翻转)。是将图像转换为一种艺术风格,比如使图片看起来像是通过某种艺术手法(如油画、素描等)制作的,那么这可以通过使用一些高级的图像处理技术来实现。flip()函数的第二个参数控制翻转模式,其中1表示水平翻转,0表示垂直翻转。颜色强度除法:使用原始灰度图和模糊的反色图像进行颜色强度的除法操作,以突出边缘和细节,创建类似手绘的效果。
2024-08-26 23:25:25
573
原创 Pillow和OpenCV对图片进行高亮及裁剪处理
在OpenCV中,裁剪区域是通过行和列的索引来指定的,使用[y_start:y_end, x_start:x_end]的方式,其中坐标原点同样在图片的左上角,但需要注意的是,OpenCV使用的是(y, x)的顺序而非(x, y)。当使用Pillow调整亮度时,enhance方法的参数factor工作在一个相对亮度的级别上,它不是直接加到像素上的值,而是一个相乘的因子。在Pillow中,裁剪区域是通过(left, upper, right, lower)来指定的,其中坐标原点在图片的左上角。
2024-08-24 19:38:18
1164
原创 根据哈希值或者特征值判断图片是否相同
detectAndCompute 方法结合了特征检测和描述符计算两个步骤,可以在图像中检测出特征点并计算这些特征点的描述符。ORB(Oriented FAST and Rotated BRIEF)是一种结合了 FAST 特征检测器和 BRIEF 描述符的特征提取算法,具有旋转不变性和尺度不变性,适用于图像特征匹配、目标检测等任务。接着使用 ORB 对象的 detectAndCompute() 方法检测图像中的特征点并计算描述符,最后将特征点绘制在图像上并显示出来。
2024-08-09 22:24:25
1142
原创 判断单张图片是否存在重叠部分的常见方法
每个点的坐标代表模板图像左上角在原始图像中的位置。通常,如果在图像中找到了多个匹配区域,可能表明图像中存在多个相似或相同的模板,这有时候也可以理解为一种重叠,尤其是当模板小于或接近待检测的物体大小时。为了使用LBP分析重叠,您可能需要结合其他图像处理步骤,例如分割图像中可能重叠的区域,然后在这些区域使用LBP来比较它们的纹理模式。这种方法对于寻找不同尺度或旋转的模板可能不是很有效,因为 matchTemplate 仅仅检查位置的匹配,但对于没有旋转和尺度变化的图像来说,它是一个非常直接的解决方案。
2024-01-21 20:27:54
2467
原创 Python-实现高并发的常见方式
但是,由于Python的全局解释器锁(GIL),同一时刻只允许一个线程执行Python字节码。例如,对于I/O密集型应用,使用异步I/O(如asyncio)或者Tornado这样的非阻塞网络框架会是个不错的选择;Python 3.4 引入的 asyncio 模块允许进行异步编程,你可以使用 async 和 await 关键字编写看起来像同步代码的异步代码。它是基于事件循环的,适合I/O密集型任务,能够在单个线程内实现高并发。与线程不同的是,协程的调度完全由程序控制,协程之间的切换不需要上下文切换的开销。
2024-01-05 22:21:25
1135
原创 业务测试常见问题(一)
多维度测试:不同的测试覆盖可以从不同角度来考虑。制定详细的测试计划和测试用例:在测试之前,制定一份可行的测试计划,确保测试人员充分了解测试的内容和目的,并根据测试计划制定详细的测试用例,以减少测试人员在测试中的疑惑。数据库测试:在进行业务测试时,可以通过测试数据库来获取随机测试数据或者通过SQL语句进行数据库的查询、更新操作等,以增加数据的复杂性和范围,更好地测试业务。兼容性维度:考虑需求的兼容性,例如系统的兼容性、浏览器的兼容性、设备的兼容性等,以保证系统在多种不同的环境中的稳定性和可操作性。
2023-10-08 22:18:12
757
原创 实现将一张图片中的目标图片抠出来
这个错误通常是由于匹配模板图像的深度不正确导致的。匹配函数cv2.matchTemplate()的模板图像应该是单通道灰度图像或3通道BGR图像。如果是单通道灰度图像,则深度应为CV_8U,如果是BGR图像,则深度应为CV_8U或CV_32F。解决方法是确保你的模板图像是一个单通道灰度图像或3通道BGR图像,并将深度相应地设置为CV_8U或CV_32F。
2023-09-28 19:46:30
790
原创 uwsgi协议-并发操作时写入数据到mongodb或者mysql失败
原因: SQLAlchemy, MongoEngine实例在整个app中只创建了一个,lazy-apps=False时的启动代码,各种模块都只创建了一遍,然后才创建worker.解决办法: 设置lazy-apps=true, 因为设置为True时启动代码,先创建worker,然后各种模块都分别加载了一遍,每个worker的环境是独立的。在并发时,SQLAlchemy,MongoEngine在数据连接时会报错;
2022-09-16 17:55:12
379
原创 Python-使用进程池提高代码执行速度
使用进程池的方式提高代码执行速度通过使用进程池的方式并获取被执行函数的返回值from multiprocessing.pool import Poolfrom multiprocessing import Manager def get_info(context_params, return_dict, num): """ 获取处理之后的信息 @return: """ test_result = [] test_result= RecFa
2022-02-23 19:48:45
623
原创 Uwsgi+nginx部署flask工程
使用uwsgi+nginx能够快速部署flask代码工程基础模块安装1:下载uwsgi服务模块pip install uwsgi2:创建软连接ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi安装Nginx1:下载压缩包wget -c https://nginx.org/download/nginx-1.12.2.tar.gz2:解压:tar -zxvf nginx-1.12.2编译:./cnfigure安装:make &
2021-11-09 16:27:53
3466
原创 python-提取GIF动图中的每一帧图片及将图片合成GIF动图
一: 提取GIF动图中的每一帧图片from PIL import Imageimport osdef get_imgs(): """ 提取动图中的每一帧图片,并保存到文件夹中 """ gif_path = os.path.join(os.getcwd(), "image_dir", "1.gif") new_path = os.path.join(os.getcwd(), "image_dir", "gif_img") gif = Image.open
2021-09-30 09:57:25
4402
原创 FastAPI-ORM的方式操作Mongodb数据库
# -*- coding: utf-8 -*-# @Time : 2021/7/23 10:19# @Author : # @File : app.py# @Software: PyCharmfrom fastapi import FastAPI, HTTPExceptionfrom motor.motor_asyncio import AsyncIOMotorClientfrom bson.objectid import ObjectIdfrom pydantic impor
2021-07-23 11:45:56
2797
原创 Flask-使用cron表达式添加定时任务
# service.pyfrom flask_apscheduler import APSchedulerfrom apscheduler.triggers.cron import CronTriggerimport uuidscheduler = APScheduler()class CornTask(): ......... @staticmethod def add_task(request): # 添加定时任务 req_data = reques
2021-07-15 19:50:36
1429
原创 CV2-计算两张图片的相似度
import cv2# 方式一def img_similarity(img1_path, img2_path): """ # 自定义计算两个图片相似度函数 :param img1_path: 图片1路径 :param img2_path: 图片2路径 :return: 图片相似度 """ img1 = cv2.imread(img1_path, cv2.IMREAD_GRAYSCALE) img2 = cv2.imread(img2_pa
2021-07-14 16:06:11
4166
原创 Python-在字典的指定位置添加键值对
from collections import OrderedDict# 方式一def modify_dict_1(source_dict, new_key, old_key, value): """ 将dict初始化为OrderedDict。创建一个新的空OrderedDict,遍历原始字典的所有键,并在键名匹配时插入before/after """ new_dict = OrderedDict() for k, v in source_dict.items(
2021-07-14 14:36:47
6889
原创 Python-处理时间
import timeimport arrowclass TimeHandler(object): @staticmethod def handle_timestamp(time_stamp): # 将13位时间戳转成正常格式时间 time_stamp = float(time_stamp / 1000) time_stamp = time.localtime(time_stamp) time_stamp = time.strftim
2021-07-09 20:40:37
130
原创 Flask-ORM方式操作Mongodb
前言在实际项目中,我们有时需要存储一些json类型的字符串,这种类型的数据写入到关系型数据库,会比较麻烦。一般我们将其写入到非关系型数据库中,例如MongoDB,同样我们也可以用操作关系型数据库的ORM方式操作MongoDB。1: 配置文件的(settings.py)MONGODB_SETTINGS = [{'db': 'api_params', 'host': MONGO_DB, 'port': 27017, "connect": True, 'us
2021-07-05 21:50:27
668
swagger_json_class_back.py
2020-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人