
Python
nihate
这个作者很懒,什么都没留下…
展开
-
pytorch计算余弦相似度需要注意的一个问题
最近在知乎上看到一篇文章,里面讲到在pytorch里自带有计算余弦相似度的函数F.cosine_similarity(或者torch.cosine_similarity函数)。而在此之前,我计算两个张量的余弦相似度的做法是把张量转换到numpy,然后用scipy库(或者sklearn库)里提供的计算余弦相似度函数来做计算的。不过,在今天我发现使用F.cosine_similarity函数计算两个张量的余弦相似度的输出值与把张量转换到numpy然后用scipy库计算的输出值不一样。示例代码如下:impo原创 2021-05-26 10:57:38 · 10023 阅读 · 6 评论 -
python录制全屏和选择区域录屏
最近给客户演示程序运行结果,我就想到用Python写一个录屏程序,在网上能找到现成的源码,但是它的录屏是录制整个屏幕的。但是在屏幕桌面下方的任务栏工具栏里有些东西,不希望被录制到视频里,因此需要实现一个选择区域录屏,就像qq截图那样的。我编写的程序如下,在主函数的输入参数里有一个选项控制是全屏录制还是选择区域录制import cv2from PIL import ImageGrabimport numpy as npimport argparseimport timeglobal img原创 2021-02-04 18:39:16 · 1376 阅读 · 7 评论 -
CenterFace人脸检测程序中的一个不为人知的bug
程序是用opencv的dnn模块加载CenterFace的onnx文件做人脸检测的,程序源码在github地址是https://github.com/hpc203/CenterFace-opencv-dnn-problem文件夹里有2幅图片,运行 python problem.py,其中problem.py的源码如下import cv2from centerface import CenterFaceif __name__ == '__main__': frame = cv2.im.原创 2020-09-24 17:22:47 · 590 阅读 · 3 评论 -
opencv和PIL读取图片的一个细节
在做深度学习目标检测和语义分割的训练时,会有读取图片这个模块流程,在读取图片时,有些人习惯使用opencv,有些人习惯使用PIL。在做语义分割时,需要读取图片和标签mask,而标签mask也是一幅图片,而在读取了标签mask后,会把它转成灰度图,图片中的像素值表示类别索引。然而用opencv和PIL读取图片时,是有差别的。看如下代码示例:import numpy as npfrom PIL import Imageimport cv2if __name__ == "__main__":原创 2020-07-25 16:32:55 · 633 阅读 · 1 评论 -
opencv图像翻转与数据增强的细节
在opencv中有多个图像翻转函数应用到SSD和yolov3中的数据增强模块里,例如左右翻转,上下翻转,水平垂直翻转。在opencv里最常用的图像翻转函数是cv2.flip,其中有一个参数flipCode=1表示水平翻转,flipCode=0表示垂直翻转,flipCode=-1表示水平垂直翻转,而在yolov3中的数据增强模块里(参见https://github.com/ultralytics/yolov3/blob/master/utils/datasets.py里的LoadImagesAndLabels原创 2020-05-27 11:48:22 · 1271 阅读 · 0 评论 -
opencv中的resize插值方式比较
在做深度学习yolov3目标检测训练时,通常需要对原始图片做resize,把图片的尺寸缩放416x416。然而,opencv提供的resize函数里有多种插值方式,最常见使用的是INTER_LINEAR(双线性插值)和INTER_NEAREST(最近邻插值)。在github上pytorch版本的yolov3的star数量最多的的是https://github.com/ultralytics/yol...原创 2020-02-27 11:25:42 · 2422 阅读 · 0 评论 -
Python中的字符串究竟是什么样的数据结构?
首先定义字符串 s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'然后把字符串转换成列表,有两种方法,list(s)和[s],可是打印出转换后列表的结果并不一样,如下代码:s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'print(s, type(s))a = list(s)print(a, type(a))a = [s]print(a, type...原创 2019-10-24 10:22:20 · 469 阅读 · 0 评论