opencv-python的使用方法
1.拷贝文件夹
拷贝/home/liuhao/anaconda3/envs/liuhao_site_packages/opencv-python3.4.6/cv2/文件夹到/home/liuhao/PycharmProjects/untitled/导入cv2库文件/下面,并修改为cv2_liuhao
注意隐藏文件夹.libs必须要,cv2.cpython-37m-x86_64-linux-gnu.so会依赖里面的13个动态库
重点重点重点:
重点重点重点:
重点重点重点:
其实只需要cv2.cpython-37m-x86_64-linux-gnu.so,及其需要依赖的13个动态库,__init__.py等其他文件都不需要
2.修改文件
修改/home/liuhao/PycharmProjects/untitled/导入cv2库文件/cv2_liuhao/__init__.py如下:
#import importlib
#from .cv2 import *
#from .data import *
# wildcard import above does not import "private" variables like __version__
# this makes them available
#globals().update(importlib.import_module('cv2.cv2').__dict__)
3.测试读取图片
test_import_cv2.py
import numpy as np
# import cv2 # 依赖于numpy
import sys
print("解释器位置:", sys.executable)
print("解释器版本:", sys.version)
lib_path = "/home/liuhao/PycharmProjects/untitled/导入cv2库文件/"
print("添加路径:", lib_path)
sys.path.insert(0, lib_path)
# cv2_liuhao代表cv2文件夹
# cv2代表cv2.cpython-37m-x86_64-linux-gnu.so文件
import cv2_liuhao.cv2 as cv2
print("使用的cv2库名称:", cv2.__name__) # cv2_liuhao.cv2
print("使用的cv2库路径:", cv2.__file__) # /home/liuhao/PycharmProjects/untitled/导入cv2库文件/cv2_liuhao/cv2.cpython-37m-x86_64-linux-gnu.so
print("使用的cv2库版本:", cv2.__version__) # 3.4.6
"""
IMREAD_UNCHANGED : 原样读取 IMREAD_UNCHANGED = -1
IMREAD_GRAYSCALE : 灰图模式 IMREAD_GRAYSCALE = 0
IMREAD_COLOR : 彩图模式 IMREAD_COLOR = 1
"""
def opencv_func(img_path):
# 读取图片 imread(图片路径,读取模式)
img_mat = cv2.imread(filename=img_path, flags=cv2.IMREAD_UNCHANGED) # flag默认为1
# # # 获取属性
# print(type(img_mat)) # <class 'numpy.ndarray'>
# print(img_mat.shape) # (720, 1280, 3) 'BGR'
# print(img_mat.size) # 2764800
# print(img_mat.dtype) # uint8
winname = "img_mat"
cv2.namedWindow(winname=winname, flags=cv2.WINDOW_NORMAL)
cv2.moveWindow(winname=winname, x=0, y=0) # 将显示窗口移到显示屏的相应位置
cv2.resizeWindow(winname=winname, width=1600, height=900)
cv2.imshow(winname=winname, mat=img_mat)
key = cv2.waitKey(delay=0)
cv2.destroyWindow(winname=winname)
if __name__ == '__main__':
img_path = "/home/liuhao/PycharmProjects/untitled/data/00000.bmp"
opencv_func(img_path)
#使用mybase_python3.7.3
source ~/anaconda3/bin/activate mybase_python3.7.3
python3 ./test_import_cv2.py
#如果使用mybase_python3.6,需要拷贝cv2.cpython-37m-x86_64-linux-gnu.so为cv2.cpython-36m-x86_64-linux-gnu.so
source ~/anaconda3/bin/activate mybase_python3.6
python3 ./test_import_cv2.py