
Python
文章平均质量分 92
bryant_meng
究天人之际,通古今之变,成一家之言。
展开
-
【python】Calculate the Angle of a Triangle
函数:计算顶点 b 的角度。通过计算三边长度,应用余弦定理得到角度(弧度制)。应用余弦定理:对于每个角,使用余弦定理计算角度。示例:计算直角三角形的三个角度(45°, 90°, 45°)。上面的例子用的笛卡尔坐标系,也适用于图像坐标系(原点在左上角)计算边的长度:使用欧几里得距离公式计算三角形三边的长度。函数:分别计算三个顶点的角度。python 代码实现。原创 2025-05-09 10:55:59 · 554 阅读 · 0 评论 -
【python】OpenCV—Tracking(10.6)—People Counting
更多有趣的代码示例,可参考。原创 2025-04-16 22:09:30 · 988 阅读 · 0 评论 -
【python】Plot a Square
更多有趣的代码示例,可参考。原创 2025-04-03 17:50:42 · 893 阅读 · 0 评论 -
【python】OpenCV—Hand Detection
更多有趣的代码示例,可参考。原创 2025-03-24 20:53:05 · 1028 阅读 · 0 评论 -
【python】OpenCV—Hand Landmarks Detection
更多有趣的代码示例,可参考。原创 2025-03-21 20:11:39 · 853 阅读 · 0 评论 -
【python】OpenCV—Template Matching
更多有趣的代码示例,可参考。原创 2025-03-20 12:34:19 · 1215 阅读 · 0 评论 -
【python】OpenCV—Hough Circle Transform
更多有趣的代码示例,可参考。原创 2025-03-12 17:03:40 · 903 阅读 · 0 评论 -
【python】OpenCV—Hough Line Transform
更多有趣的代码示例,可参考。原创 2025-03-11 13:00:00 · 1193 阅读 · 0 评论 -
【python】You-Get
源码:https://github.com/soimort/you-get用户庞大呀。原创 2025-02-17 18:45:00 · 664 阅读 · 0 评论 -
【python】matplotlib(animation)
这个函数通常被称为“更新函数”,它决定了每一帧图表的样子。FuncAnimation 类提供了一种灵活而强大的方式来创建和展示动画,使得数据可视化更加生动和直观。在这个例子中,update 函数根据当前的帧号(frame)更新线条的数据,使得线条逐渐变长,模拟了一个点沿正弦曲线移动的动画效果。原理解释统计柱状图当前帧和下一帧的差值,然后插帧平滑过去,这里插帧数量配置为了。最终生成的 gif 如下(仅播放一次),可以观察到平滑了很多。看看生成的 gif 效果(仅播放一次)横坐标 0 至 36。原创 2025-02-08 18:00:00 · 1592 阅读 · 0 评论 -
【python】OpenCV—Extract Horizontal and Vertical Lines—Morphology
更多有趣的代码示例,可参考。原创 2025-01-14 20:25:46 · 1383 阅读 · 0 评论 -
【python】matplotlib(rose)
在 matplotlib 中使用 ax.plot_surface 之前,你需要确保已经创建了一个三维的坐标轴对象 ax。是一个在三维空间中绘制表面的函数,通常用于 matplotlib 库中的 Axes3D 对象。这个函数可以用来创建三维图形,其中表面由给定的 X、Y、Z 数据点集合定义。使用不同的颜色映射(cmap)可以极大地改变图形的视觉效果,因此选择合适的颜色映射是很重要的。plot_surface 绘制的表面是封闭的,即它会根据数据点自动连接边缘以形成完整的表面。绿色去掉,保留玫瑰花的红。原创 2025-01-14 13:49:59 · 738 阅读 · 0 评论 -
【python】OpenCV—Local Translation Warps
圆圈内原始 U 位置会被形变到 X,可以简单直白理解为拉伸后 U 位置的值给了 X 位置,此时 U 位置空置了,需要插值。为关键点 3-5 的距离,5-7 的距离,7-9 的距离,9-11 的距离,11-13 的距离,13-15 的距离。先把图片变成灰度图,然后人脸检测,绘制人脸检测结果,人脸关键点检测,返回关键点坐标。上面描述很清晰了,鼠标初始在 C,也即形变范围的圆心在 C,形变半径。也即 C = 3,5,7,9,11,13,M = 16。遍历关键点,3,5,7,9,11,13。,形变方向 C→M,原创 2025-01-13 11:31:44 · 837 阅读 · 0 评论 -
【python】matplotlib(radar chart)
基于 matplotlib 实现雷达图的绘制一、雷达图的基本概念雷达图(Radar Chart),也被称为蛛网图或星型图,是一种用于可视化多个变量之间关系的图表形式。它常用于比较多个变量之间的关系,特别是在展示各个维度的综合表现时非常有用。雷达图的基本构造是一个圆形网格,代表数据的各个维度。每个维度对应一个顶点,这些顶点通过直线连接,形成一个封闭的多边形。二、绘制原理极坐标系统:雷达图是基于极坐标系统绘制的。在极坐标系统中,点的位置由角度和半径两个参数决定。原创 2025-01-07 23:47:51 · 1149 阅读 · 0 评论 -
【python】matplotlib(moon cake)
请注意,上述属性中的一些可能不适用于 Arc 类,因为某些属性是为其他可填充或可变形对象设计的。是 Matplotlib 库中的一个类,用于绘制楔形(或扇形)图形。以下是这个类的中文文档,详细解释了其构造函数参数和其他相关属性。的圆上的一个点得到的转迹线,这个点到内部滚动的圆的中心的距离是。暴力美学,写字的时候,底板用的是白色的圆圈,通过。画了两个圆,写了字体,剩下的就是内旋轮线的轨迹了。第一个 plot 绘制弹簧形状的蓝色的轨迹。迭代次数, 即沿绘制路径获取的点。的固定的圆内侧滚转的半径为。原创 2024-12-30 20:40:34 · 674 阅读 · 0 评论 -
【python】Play thr Piano
"和空格键的按下与释放。最后,我们使用Listener类创建了一个键盘监听器,并将on_press和on_release函数作为参数传递给它,然后启动了监听器。这个函数接受一个浏览器类型作为参数(例如 “firefox”、“chrome” 或 “safari”),并返回一个对应的浏览器对象。如果你想确保在一个新的标签页中打开 URL(而不是一个新窗口,这取决于浏览器的设置和版本),可以使用。一旦你获取了一个浏览器对象,你可以使用它的各种方法来控制浏览器,比如。启动浏览器,全屏显示,自动键入符号,演奏歌曲。原创 2024-12-05 12:15:08 · 985 阅读 · 0 评论 -
【python】Mouse Follow
在这个示例中,pygame.image.load(‘example.png’) 加载了一个图像文件,screen.blit(image, (100, 100)) 将这个图像绘制到了屏幕上的 (100, 100) 位置,最后 pygame.display.flip() 更新屏幕以显示所做的绘制。库,实现鼠标跟随功能,鼠标到哪,跟随的图片相应到哪,类比导弹追踪,鼠标是目标,配置的图片就是导弹,以箭头为例。这个方法用于控制游戏的帧率。,旋转前的箭头用红色框表示,旋转后的箭头用绿色框,蓝色框表示旋转后的图片。原创 2024-12-04 14:30:04 · 737 阅读 · 0 评论 -
【python】OpenCV—Tracking(10.5)—dlib
dlib.correlation_tracker 基于判别式相关滤波器(Discriminative Correlation Filter, DCF)的方法,这种方法通过训练一个滤波器来区分目标对象和背景,从而实现高效的跟踪。通过 dlib.correlation_tracker,你可以实现高效且相对准确的目标跟踪,适用于各种计算机视觉应用,如视频监控、人机交互等。涉及到 caffe 模型的 prototxt,caffemodel,输入视频,类别标签,输出视频,检测框的置信度配置。获取新的坐标,并可视化。原创 2024-11-29 13:37:07 · 1448 阅读 · 0 评论 -
【python】folium for mapping visulization
上述代码创建了一个包含多个标记和多边形的交互式地图,并将其保存为 HTML 文件。是 Folium 库中的一个类,用于创建地图对象。Folium 是一个基于 Python 的地图可视化库,它使用。前端库来生成地图,并且可以轻松集成到 Web 应用程序中,特别适合于数据科学和地理信息系统(GIS)领域的可视化。借助 folium 库,根据经纬度可视化地图,做标记,可以做旅游攻略,出行攻略。纬度(latitude)、经度(longitude)(地图属性,当使用自定义URL的地图时用于命名)、原创 2024-11-29 09:52:19 · 1003 阅读 · 0 评论 -
【python】Image Steganography
把待编码的文本信息每个符号先转成ASCII,进一步转成8位二进制,编码到彩色图片的 3 个 空间位置上,也即 3 个 rgb 像素上,编码规则可以是如果二进制为 1, 则把原图像素置为奇数,否则置为偶数, 3×3 = 9,还多一个位置,用于标志编码是否继续或者停止。位(共 8 位)为 0 且待编码像素为奇数,待编码像素 -1 ——二进制 0,像素被编码为偶数,很巧妙,这里用的 -1,255-1 = 254,1-1=0,保证不会越界。最后一位,0 表示继续编码,1表示停止编码。交互式输入待编码的信息。原创 2024-11-26 12:14:17 · 933 阅读 · 0 评论 -
【python】pandas(2)
基本的使用方式非常简单,你只需要提供包含表格的网页 URL 或者包含 HTML 内容的字符串。read_html 函数会返回一个 DataFrame 的列表,其中每个 DataFrame 对应网页中的一个表格。是 Pandas 库中的一个非常有用的函数,它允许你直接从网页中提取表格数据,并将其转换为 Pandas DataFrame 对象。假设你有一个网页,其 URL 为 https://example.com/page-with-tables,并且这个网页上有一个或多个 HTML 表格。原创 2024-11-19 12:21:19 · 825 阅读 · 0 评论 -
【python】File(12.1)
承接前文: 【python】File(12)glob.glob (必须在参数里写上指定的路径。可以是相对路径也可以是绝对路径。)函数功能:匹配所有的符合条件的文件,并将其以list的形式返回。跟使用 windows 下的文件搜索差不多。”*” 匹配 0 个或多个字符;”?” 匹配单个字符;”[]” 匹配指定范围内的字符,如:[0-9] 匹配数字。9、比较文本的差别来自 2行Python就能实现 “文本文件” 差异比较,太强了!需要安装一个 库,介绍如下 https://pypi.org/p原创 2024-11-18 15:21:06 · 905 阅读 · 0 评论 -
【python】OpenCV—WaterShed Algorithm(2)
以坐标列表(indices=True)或布尔掩码(indices=False)的形式查找图像中的峰值。十个标记,发现三不见了,debug 分析,3 和 2 重复了,改下代码跳过 2 即可显示 3。由于分水岭算法假设我们的标记代表距离图中的局部最小值(即山谷),因此我们取 D 的负值。input :待标记的数组对象。输入中的任何非零值都被视为待标记对象,零值被视为背景。计算从每个二进制图像中的像素到最近的零像素的精确欧氏距离,然后找出这个距离图中的峰值。绘制轮廓而不是圆形的画,改下最后绘制的代码即可。原创 2024-11-10 21:54:57 · 944 阅读 · 0 评论 -
【python】Flask
Flask 是一个用 Python 编写的轻量级 Web 应用框架。它设计简单且易于扩展,非常适合小型项目到大型应用的开发。以下是一些 Flask 库中常用的函数和组件:一、Flask 应用对象:创建一个 Flask 应用实例。二、路由和视图函数:装饰器,用于将 URL 路径绑定到视图函数。三、请求对象request:包含有关客户端请求的信息,比如请求参数、表单数据、HTTP 头等。name }!name }!四、响应对象:创建一个响应对象,可以附加 HTTP 状态码和头信息。五、会话管理。原创 2024-11-08 14:11:22 · 1577 阅读 · 0 评论 -
【python】Distribution
指数分布是一种连续概率分布,通常用于描述随机事件之间的时间间隔,比如顾客到达商店的时间间隔、电话呼叫的间隔时间等。二项分布(Binomial Distribution)是概率论中的一种重要离散概率分布,它用于描述在固定次数的独立重复试验中,某一事件成功次数的概率分布。、ξn,均服从标准正态分布(也称独立同分布于标准正态分布N(0,1)),则这n个服从标准正态分布的随机变量的。学生 t 分布是在总体方差未知的情况下,用于估计呈正态分布的总体的均值,或者对两个样本均值差异进行显著性检验的一种概率分布。原创 2024-11-06 20:43:16 · 920 阅读 · 0 评论 -
【python】OpenCV—findContours(4.6)
接着,定义了两个红色的 HSV 范围(因为红色在 HSV 空间中跨越了两个范围),并使用 cv2.inRange 生成两个掩码。最后,显示原始图像和提取的红色部分。当然仔细看代码这图和代码中对应的字母有差异,代码中 start 到 end 是 a 对应上图的 c,代码中 start 到 far 和 end 到 far 为 b 和 c 对应上图的 a 和 b,只有一个手指的时候,或者握拳的时候,这套流程应该是判断不出来有几根手指的。十分依赖前处理,前处理不行,轮廓不对,后续结果判断则会相应的出现问题。原创 2024-11-06 11:32:28 · 1054 阅读 · 0 评论 -
【python】OpenCV—findContours(4.5)
这里比较灵活,可以尝试其他任何方法,核心目的是找出画面中物体的宽,只是正好样例图片可以。再换一个距离,测试一下算法,计算得到 P,根据已知的 W 和 F,求出 D。换一个距离,测试一下算法,计算得到 P,根据已知的 W 和 F,求出 D。输入图片,灰度化,高斯模糊,Canny 算子进行边缘检测,W,读入图片,通过找到画面中的物体,求出来 P,计算。找出轮廓,获取到 P,结合已知的 W 和 D,求出 F。遍历图片,求最大面积轮廓的最小外接矩阵,调用。输入图片,计算出图片中的目标到相机间的距离。原创 2024-10-31 17:44:18 · 968 阅读 · 0 评论 -
【python】OpenCV—findContours(4.4)
PCA是一种统计方法,用于减少数据集的维度,同时保留数据中的主要变化特征。通过PCA,可以找到数据中的“主成分”,这些主成分定义了数据的主要变化方向。找出物体轮廓,根据 PCA 计算特征值和特征向量,绘制特征值和特征向量,来初步展示物体的方向。仔细核对发现这个不符合上述的规则,个人理解,因为这个和正方向是反的(还原不到上述的正方向),第一个是绘制方向的直线,第二个和第三个分别绘制箭头,偏离直线 ±45°。遍历轮廓,剔除面积过小或者过大的轮廓,绘制轮廓,调用。是系数,影响的是绘制时候的长度。原创 2024-10-30 17:05:02 · 1187 阅读 · 0 评论 -
【python】OpenCV—findContours(4.3)
在这个示例中,我们首先定义了一个矩形的中心点、宽度、高度和旋转角度,然后创建了一个 cv2.RotatedRect 对象来表示这个旋转矩形。需要注意的是,如果 box 是一个 cv2.RotatedRect 对象,那么它本身就包含了旋转信息(即旋转角度和中心点),此时 rotMat 参数将被忽略,因为 cv2.RotatedRect 已经定义了矩形的旋转状态。然而,它的效果也依赖于所选的阈值,因此在实际应用中,可能需要根据具体情况调整 threshold1 和 threshold2 的值。原创 2024-10-30 10:42:33 · 1569 阅读 · 0 评论 -
【python】OpenCV—Connected Components
是 OpenCV 库中的一个函数,用于寻找图像中的连通区域,并计算每个连通区域的统计信息。通过 cv2.connectedComponentsWithStats,我们可以方便地获取图像中连通区域的数量和统计信息,这对于图像分析和处理中的许多任务都是非常有用的。基于 python opencv 的连通分量标记和分析函数,分割车牌中的数字、号码、分隔符。背景,提取当前标签的连通分量统计信息和质心,可视化边界框和当前连通分量的质心。导入必要的包,加载输入图像,将其转换为灰度,并对其进行二值化处理。原创 2024-10-29 17:47:08 · 2615 阅读 · 0 评论 -
【python】OpenCV—Tracking(10.4)—Centroid
如果注册的 id 为空,这当前帧所有质心会被注册上新的 id,否则会计算历史质心和当前帧质心的距离,距离较近的匹配上,更新 id 的质心,没有被分配上的历史质心对应 id 的。如果对象离开帧并且在 maxDisappeared 帧中没有返回,则将分配一个新的(下一个)对象 ID。在这个例子中,D 将是一个形状为 (m, p) 的数组,其中 D[i, j] 表示 XA 中第 i 个点和 XB 中第 j 个点之间的距离。,在我们取消注册该对象之前,允许将对象标记为“丢失/消失”的连续帧数。原创 2024-10-29 11:34:06 · 1446 阅读 · 0 评论 -
【python】OpenCV—Tracking(10.3)—GOTURN
(1)发表来自(2)基本原理(3)模型大小(4)模型结构。原创 2024-10-25 11:02:49 · 887 阅读 · 0 评论 -
【python】OpenCV—WaterShed Algorithm
分水岭的概念和形成可以通过模拟浸入过程来说明:在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。是 OpenCV 中用于图像平滑处理的一个函数,它基于均值漂移(Mean Shift)算法,并通过图像金字塔的方式来实现。分水岭分割算法的基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。原创 2024-10-24 20:18:16 · 1820 阅读 · 0 评论 -
【python】OpenCV—findContours(4.2)
本博客介绍一些基于的基本属性。原创 2024-10-22 21:09:25 · 1112 阅读 · 0 评论 -
【python】OpenCV—Sort the Point Set from Top Left to Bottom Right
的长度为 42,可以看到我们找出来了图片中 42 个中心 ,也即找出来了 42 个轮廓。给出一张图片,里面含有各种图形,取各种图形的中心点,从左到右从上到下排序。找轮廓中心的方法是遍历轮廓点,求横坐标和纵坐标的平均值。可视化结果,同一行的点连成线,绘制点,标上序号。遍历每行,排序纵坐标落在行内区间的轮廓中心。我们设置的 4 行,可以看到有 4 条直线。函数找轮廓,面积较大的轮廓经过。可以看到没有闭合的轮廓被舍弃掉了。配置不同的行数看看效果。取出 x 的排序索引。原创 2024-10-21 14:53:15 · 434 阅读 · 0 评论 -
【python】OpenCV—Fun Mirrors
在OpenCV中,VCAM 库是一个用于简化创建三维曲面、定义虚拟摄像机、设置参数以及进行投影任务的工具。它特别适用于实现如哈哈镜等图像变形效果。一、VCAM 库的功能VCAM 库的主要功能包括:创建三维曲面:用户可以根据需要定义一个三维曲面,这个曲面将作为虚拟镜面的基础。定义虚拟摄像机:用户可以设置虚拟摄像机的各种参数,如焦距、位置等,以模拟不同的拍摄效果。投影与重映射:将三维曲面上的点投影到虚拟摄像机的成像平面上,并生成相应的二维点。这些二维点可以用于图像的重映射,从而实现图像的变形效果。原创 2024-10-17 15:38:15 · 919 阅读 · 0 评论 -
【python】OpenCV—Fourier Transform
比如实现图像的轮廓提取,在空间域滤波中我们使用一个拉普拉斯模板就可以提取,而在频域内,我们使用一个高通滤波模板(因为轮廓在频域内属于高频信号),可以实现轮廓的提取,后面也会把拉普拉斯模板频域化,会发现拉普拉斯其实在频域来讲就是一个高通滤波器对图像进行傅里叶变换后其实是可以得到图像的振幅图与相位图的,而想把图像从频域空间恢复到时域空间,必须要同时有图像的振幅图与相位图才可以,缺少一个就恢复的不完整。原创 2024-10-17 10:57:22 · 1268 阅读 · 0 评论 -
【Multi Object Tracking】Learning notes
(原理介绍)(流程图)(汽车小demo)(code)(原理介绍)原创 2024-09-19 20:29:51 · 729 阅读 · 0 评论 -
【python】OpenCV—Augmented Reality Using Aruco Markers
字典中的所有标记包含相同数量的块或位(4×4、5×5、6×6 或 7×7),每个字典包含固定数量的标记(50、100、250 或 1000)上面的 drawMarker 函数让我们从 250 个标记的集合中选择具有给定 id(第二个参数 - 66)的标记,这些标记的 id 从 0 到 249。在上面的示例中,将在 6×6 生成的模式周围添加 1 位边界,以在 200×200 像素图像中生成具有 7×7 位的图像。第四个参数表示将存储生成的标记的对象(上面的markerImage)。原创 2024-09-12 23:24:24 · 1230 阅读 · 0 评论 -
【python】OpenCV—Age and Gender Classification
输出最高的 200 个 RoI,每个 RoI 7 个值,(xx,xx,score,x0,y0,x1,y1)先检测人脸,人脸外扩,再性别检测,再年龄检测,最后结果绘制输出。性别分类和年龄分类预测。原创 2024-09-11 23:01:53 · 1097 阅读 · 0 评论