一些自己常用的命令笔记

一、路径拼接:os.path.join() 与 +

import os

path1 = 'home'
path2 = 'hh'
path3 = '1.jpg'

patha = path1 + path2 + path3
pathb = os.path.join(path1, path2, path3)
print ('patha = ', patha)
print ('pathb= ', pathb)

输出

patha = homehh1.jpg
pathb = home/hh/1.jpg

os.path.join():

1.带“/”相加:如果各组件名的首字母不包含 ’/’,则函数会自动加上

2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃

3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾

+:地址直接相连

二、简单的读图片,resize,保存图片,读图

import cv2
import os

for i in range(1,4):
  img_dir = str(i)+'.jpg'
  img_dir = os.path.join(os.getcwd(),img_dir)
  print('original img_dir:', img_dir)
  img = cv2.imread(img_dir)
  print('original size:',  img.shape)    #(x-高,y-宽)
  cv2.imshow('original_img',img)
  x, y = img.shape[0:2]
  print(x,y)
  new_img = cv2.resize(img,(int(y/2),int(x/2)))    #缩放到原来的二分之一,输出尺寸格式为(宽,高)

  #cv2.imshow('resized_img',new_img)
  #cv2.waitKey()
  newimg_dir = str(i+10)+'.jpg'
  cv2.imwrite(newimg_dir, new_img, [int(cv2.IMWRITE_JPEG_QUALITY),80])

备注:

1. cv2.resize(img,  (宽,高))

2. cv2.imwrite(filename,img,flag)

第一个参数是文件名,默认保存在当前目录下,第二个参数是要保存的图片,第三个参数是保存类型:对于jpeg图片,为cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成int,数值为0-100,越高则图片质量越高,默认值95;对于png图片,为cv2.IMWRITE_PNG_COMPRESSION,从0到9 压缩级别越高图像越小。

tips:jpeg是有损编解码,png是无损,jpeg图像的写入、读取结果会不一致,而png图像则完全一致。

3. cv2.imread() 与plt.imread()

cv2.imread() 读出来的图片是BGR

4. 读图显示

a = plt.imread('11.jpg')
b = plt.imread('12.jpg')
plt.subplot(1,2,1)  #plt.subplot('行','列','编号') 分别对不同编号的图片进行title编辑等
plt.title('11.jpg')
plt.imshow(a)
plt.subplot(1,2,2)  #对第二张图布局
plt.title('12.jpg')
plt.imshow(b)
plt.show()  #将两张图显示出来,如果不用subplot,则只会显示出最后一张图

在图中插入公式可以参照以下链接:

https://www.jianshu.com/p/3edb07f58ecd

ax.text(0.1, 5,  r"$CE(p_j)=-log(p_j)$",color='black',fontsize=15);
ax.text(0.1, 4,  r"$FL(p_j)=-(1-p_j)^\gamma log(p_j)$",color='black',fontsize=15);

可得到:

 

python+opencv简谱识别音频生成系统源码含GUI界面+详细运行教程+数据 一、项目简介 提取简谱中的音乐信息,依据识别到的信息生成midi文件。 Extract music information from musical scores and generate a midi file according to it. 二、项目运行环境 python=3.11.1 第三方库依赖 opencv-python=4.7.0.68 numpy=1.24.1 可以使用命令 pip install -r requirements.txt 来安装所需的第三方库。 三、项目运行步骤 3.1 命令行运行 运行main.py。 输入简谱路径:支持图片或文件夹,相对路径或绝对路径都可以。 输入简谱主音:它通常在第一页的左上角“1=”之后。 输入简谱速度:即每分钟拍数,同在左上角。 选择是否输出程序中间提示信息:请输入Y或N(不区分大小写,下同)。 选择匹配精度:请输入L或M或H,对应低/中/高精度,一般而言输入L即可。 选择使用的线程数:一般与CPU核数相同即可。虽然python的线程不是真正的多线程,但仍能起到加速作用。 估算字符上下间距:这与简谱中符号的密集程度有关,一般来说纵向符号越稀疏,这个值需要设置得越大,范围通常在1.0-2.5。 二值化算法:使用全局阈值则跳过该选项即可,或者也可输入OTSU、采用大津二值化算法。 设置全局阈值:如果上面选择全局阈值则需要手动设置全局阈值,对于.\test.txt中所提样例,使用全局阈值并在后面设置为160即可。 手动调整中间结果:若输入Y/y,则在识别简谱后会暂停代码,并生成一份txt文件,在其中展示识别结果,此时用户可以通过修改这份txt文件来更正识别结果。 如果选择文件夹的话,还可以选择所选文件夹中不需要识别的文件以排除干扰
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值