- 博客(32)
- 收藏
- 关注
原创 模型训练yolo7训练自己数据集
3.尺寸大小设置,看数据集大小尺寸来设置。1.首先按照VOC做数据集。这两个txt文件都要改好。train.py文件要设置。yolo.py文件要设置。
2023-05-17 20:14:51
157
原创 Size的高宽排序
神经网络对应的是[batch-size, Channel, High, width]transforms.resize((高(h),宽(w)))torch.randn(4,3,128(高),256(宽))
2023-05-10 20:57:06
170
原创 jupyter notebook
对编辑框输入M即可(一定得在命令模式之下进行),再输入shift+Enter即可。将markdown单元格式,想替换为代码单元格,则仅仅输入Y即可(命令模式输入)。ctrl+enter是执行当前代码块,但并不会跳跃至下一个代码块。shift+enter是执行当前代码块,并跳跃至下一个代码块。a(命令模式)就是在当前代码上方进行新建代码块。b(命令模式)就是在当前代码下方进行新建代码块。4.绿色代表编辑模式,蓝色代表命令模式。L(命令模式)就是给当前代码块标行数。d(命令模式)就是删除当前代码块。
2023-05-04 11:39:33
103
原创 Pycharm调试
step into my code 单步运行,进入函数,但不去源程序函数。step into 单步运行程序,会进入函数(包括原代码中的函数)运行到下一个断点,如果没有断点,就运行程序结束为止。step over 单步运行,不会进入函数。step out 跳出当前函数。
2023-05-02 21:48:03
389
原创 python 函数的调用
传递时不要跟上后边的括号以及可能存在的参数,只要传递函数名即是传递了函数变量。函数可以作为变量像其他变量一样使用return返回,比如我们定义一个函数f,函数变量和其他变量一样可以作为参数传入另一个函数,因为传递的是参数,所以。所有定义的函数其实它的名字都是指向这个函数本身的一个变量。mySum本身就一个变量,和其他任何变量一样,可以赋值、传递等操作的。一个函数def mySum(s,y)mySum(1,2)是调用这个函数。3.函数变量作为返回值。2.函数作为参数传递。
2023-04-27 16:11:38
219
原创 Numpy学习
python中的list列表也可以非常灵活的处理多个元素的操作,但效率非常低下,原因在于所有的元素的数据类型相同,数据地址连续,批量操作数组元素时速更快。Numpy底层代码使用C语言编写,内置并行计算功能,运行速度高于Python代码。
2023-04-27 15:39:27
113
原创 Opencv-4.Sobel算子、梯度计算方法、scharr与lapkacian算子
采用converScaleAbs(sobelx) 就是将负数转为正数。这里的意思就是1,0。主要是让其由右向左相减,计算来求梯度。上面的dx=1,dy=0。因此为由右向左相减为正,分别是sobel算子,scharr算子,拉普拉斯算子。将两者进行相加addWeighted,代表权重相加。这里的0,1,主要是由下往上相减,计算来求梯度。3.scharr与lapkacian算子。再由x,y分别0.5,0.5来求和。dx=0,dy=1就是由上往下。1.Sobel算子、
2023-04-21 17:43:12
360
原创 Opencv-3.图像平滑处理、高斯和中值滤波、腐蚀操作、膨胀操作、开运算与闭运算、梯度计算、礼帽和黑帽
均值滤波就是cv2.blur() 将图像采用[3,3],数为1的卷积核进行卷积操作。开运算:先腐蚀,再膨胀(去除一些毛刺,具有非常好的效果)iteration迭代次数表示的是腐蚀强度。MORPH_OPEN就是采用的开运算。np.hstack黏贴拼接在一起。膨胀-腐蚀就能得到边界信息。腐蚀操作就是去掉毛刺。2.高斯和中值滤波、5.开运算与闭运算、
2023-04-21 15:24:01
186
原创 Opencv-2.ROI区域、边界填充、数值计算、图像阈值
cv_show("cat",cat) ##cv_show的方式展示 ”cat“表示文件名 cat表示变量。上述的b,g,r是三个通道,分别索引为0,1,2。因此[:,:,0]表示将b通道全部赋值为0,cat = img[0:50,0:200] ##这也就是高,宽。这里[:5,:,0]的意思是打印前五行,并且是BGR中的B。0.4是猫的权重,0.6是在狗上的权重,0指的是提高亮度。merge函数是来进行b,g,r的融合。1.ROI区域(截取特定区域)图像融合必须大小相同。
2023-04-21 14:21:51
515
原创 Opencv-1.图片读取与视频读取
img = cv2.imread("cat.jpg",cv2.IMREAD_GRAYSCALE)转成灰度图。cv2.waitKey(0) ##等待时间,毫秒级,0表示任意键就终止。cv2.imshow("image",img) ###图像的显示。cv2.imwrite("路径",img(那张处理后的图片))读取的是一个三维的数组,并且都是在(0-255)的值。》》》(414,500,3)高、宽、通道数(BGR)") ##0,1表示捕获的是摄像头图像。cv2.imread("路径")
2023-04-21 11:19:04
121
原创 【无标题】
img = cv2.imread("./nm0000111_rm4828928_1962-3-21_2009.jpg") #./nm0000111_rm4828928_1962-3-21_2009.jpg为图片路径。img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) 这个方法转成RGB格式。img = cv2.imread("./img_1.png") #./img_1.png为需要读取图片的路径。cv2imread()这个函数,一定要注意读取的顺序是BGR。
2023-04-20 11:14:56
86
原创 Opencv的部分知识内容
• thresholdType:阈值类型,如下图THRESH_BINARY类型,修改后原图像像素小于127的值会会变成0,大于127的值会变成255。retval, dst = cv2.threshold(src, thresh, maxval, thresholdType)• dst:结果图像。img=cv2.imread("D:\\desk\\images\\lena02.png",0) #0:自动将图像转为灰度图。print(img.shape) #(高,宽,通道)
2023-04-18 11:46:21
369
原创 加载路径相关语法
一.os.path.joinos.path.join()函数用于路径拼接文件路径,可以传入多个路径如果不存在以“/”开始的参数,则函数会自动加上存在以“/”开始的参数,从最后一个以“/”开头的参数开始拼接,之前的参数全部丢弃同时存在以“./”与“/”开始的参数,以“/”为主,从最后一个以“/”开头的参数开始拼接,之前的参数全部丢弃。
2023-04-17 20:07:11
109
原创 split()、strip()、tqdm()、ET.parse()
split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。ET.parse()用来读取xml的文件,再通过getroot()来获得根节点。# 使用tqdm对可迭代对象进行包装,实现进度条可视化。tqdm是为了便于观察处理进度所需要的进度条。Split()就是以列表的形式返回字符串。# 正常的遍历(没有进度条)# 定义一个可迭代对象。
2023-04-17 16:38:02
127
空空如也
C/C++有个课题全班也没思路,看看大家有什么思路吗
2022-10-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人