一些自己常用的命令笔记

一、路径拼接: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);

可得到:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值