python 使用

0、采坑系列

1、每个包根目录有_init_.py文件来区分包和普通文件夹区别。(python from 导入包错误)

2、有_init_.py文件还是无法导入,发现是包名是多个单词组成,单词间隔用了 - ,应该用 _ 代替。

3、pycharm引入包要指定源码文件夹,不然无法引入。

 

 


1、cv2使用

cv2.imshow(wname,img)  # wname为字符串                     
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.destroyWindow(wname)
cv2.imwrite('./images/' + image.split("/")[-1], img)
  1. 使用函数cv2.imshow(wname,img)显示图像,第一个参数是显示图像的窗口的名字,第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小
  2. cv2.waitKey顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片
  3. cv2.destroyAllWindow()销毁所有窗口
  4. cv2.destroyWindow(wname)销毁指定窗口wname
  5. 将修改后的图片保存到指定目录,文件名称还是原来的名称。

2、time使用

 

import time
time1 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(time1)
time2 = time.strftime("%Y-%m-%d", time.localtime())
print(time2)

结果:


3、base64转图片

import os,base64 
 
str = "<base64字符串>"
imgdata = base64.b64decode(str)
file = open('1.jpg','wb')
file.write(imgdata)
file.close()

注意事项: 

 若base64字符串头有该字段,请删除(含逗号)

4、base64编解码,转成Opencv格式

import base64
import numpy as np
import cv2
str="<base64字符串>"
img_b64decode = base64.b64decode(str)  # base64解码

img_array = np.fromstring(img_b64decode,np.uint8) # 转换np序列
img=cv2.imdecode(img_array,cv2.COLOR_BGR2RGB)  # 转换Opencv格式

cv2.imshow("img",img)
cv2.waitKey()

注意事项同3


5、numpy生成矩阵(1,2,3,4,5...)

import numpy as np
m = np.arange(0, 100, 1)  # 生成0 ~ 100的数组,增长步长为1
m = m.reshape(10, 10)  # 将矩阵转为10 X 10 的矩阵
print(m)

[[ 0  1  2  3  4  5  6  7  8  9]
 [10 11 12 13 14 15 16 17 18 19]
 [20 21 22 23 24 25 26 27 28 29]
 [30 31 32 33 34 35 36 37 38 39]
 [40 41 42 43 44 45 46 47 48 49]
 [50 51 52 53 54 55 56 57 58 59]
 [60 61 62 63 64 65 66 67 68 69]
 [70 71 72 73 74 75 76 77 78 79]
 [80 81 82 83 84 85 86 87 88 89]
 [90 91 92 93 94 95 96 97 98 99]]

print(m[1:9, 2:8])  # 切片

[[12 13 14 15 16 17]
 [22 23 24 25 26 27]
 [32 33 34 35 36 37]
 [42 43 44 45 46 47]
 [52 53 54 55 56 57]
 [62 63 64 65 66 67]
 [72 73 74 75 76 77]
 [82 83 84 85 86 87]]

6、csv文件读取,写入

#  读取
with open(csv_file_path, 'r') as csv_file:
    csv_red = csv.reader(csv_file)
    rows = [row for row in csv_red]
for emotion, pixels, usage in rows:  # emotion等为csv文件中的字段
    print(emotion)
    print(pixels)
    print(usage) 
#  写入
with open(folder_path,"a+") as csvfile:  # a+ 代表追加,w代表写入,直接覆盖
    writer = csv.writer(csvfile)
    # 先写入columns_name
    writer.writerow(['emotion', 'pixels', 'Usage'])  
    # 写入多行
    writer.writerows(csvs)  # csvs是构造好的列表直接列表的形式,类似[[1, 2, 3],[4, 5, 6].[7, 8, 9]]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值