主要是记录一下自己使用Python时的一些问题,还是很简单的,只是每次都要查很麻烦,所以干脆自己写一个记录一下,如果能解决各位同好的问题那就是锦上添花。
开门见山:
如果我要导入Encoder_analyze库中的两个.py文件(Alpha_utils.py 和 DCT_utils.py)
如果在Encoder_analyze文件中的话,就能直接使用import调用。
举个例子:
DCT_utils.py中的函数定义
import numpy as np
import copy
import cv2
#颜色空间转换
def Get_YUV420(img_path):
img = cv2.imread(img_path)
yuv2 = cv2.cvtColor(img, cv2.COLOR_BGR2YUV_IYUV)
# cv2.COLOR_BGR2YUV_YV12
# cv2.COLOR_BGR2YUV_IYUV
# cv2.COLOR_BGR2YUV_I420
width = img.shape[1]
UV_width = width // 2
height = img.shape[0]
UV_height = height // 2
# #YUV420 UV的一个像素相当于Y通道2X2的像素块
# UV_width =int(width / 4)
# UV_heigth = height
#Y通道是跟原图像相同size
Y = yuv2[0:height, 0:width]
#U通道是Y后面
tmp_U = yuv2[height : height + int(height / 4), 0 : width]
tmp_V = yuv2[height + int(height / 4) : height + int(height / 2), 0 : width]
U = tmp_U.reshape(UV_width, UV_height)
V = tmp_V.reshape(UV_width, UV_height)
return Y, U, V
import DCT_utils
jpeg_img_path = "D:/neural_network/Webp/dataset_128/dataset/jpeg1/jpeg1_70/1.jpeg"
#颜色空间变换
#使用DCT_utils.进行函数实例化,Get_YUV420是DCT_utils.py中写的一个函数
jpeg_Y, jpeg_U, jpeg_V = DCT_utils.Get_YUV420(jpeg_img_path)
但是如果现在正在写的.py文件直接使用的话,就需要使用别的东西了。
使用sys进行扩展就行了
import sys
sys.path.append("D:/neural_network/Webp/Encoder_analyze")#这里写上路径就行