1 致谢
感谢网友王小鹏鹏提供的资料,
链接如下:https://blog.csdn.net/kingroc/article/details/96324220
2 官方网站
GitHub主页:opencv-python
2 安装
python -m pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
3 图像坐标系规则
3.1 原点
坐标系的原点位于图片的左上角。
3.2 坐标轴的方向
X轴一一以水平向左为正方向。
Y轴一一以垂直向下为正方向。
3 图像的数据格式
数据格式: np.adarray
,使用的是numpy的数据格式。
维度顺序: HWC
通道顺序: BGR
4 图像基本信息
# 图像张量大小
image.shape
# 其实就是用的numpy的array.shape属性
# 获得图像的height和width
h,w =image.shape[0], image.shape[1]
5 常用的预处理操作
5.1 padding操作
使用OpenCV完成图像的padding操作,可以参考下面的代码:
cv.copyMakeBorder(image, 0, patch_size - height, 0, patch_size - width, cv.BORDER_CONSTANT, value=0)
关于使用不同padding参数的效果,可以参考博文《OpenCV对矩阵进行padding操作》
6 绘制图像
6.1 显示图像可以自动缩放的窗口
OpenCV在默认情况下,显示的图像不会根据窗口的大小自动缩放,这里可以看看在Ubuntu上显示图像的窗口:
这里没有“最大化”按钮,窗口的大小也是无法调整的;
我们可以通过cv.namedWindow
函数来设置显示窗口的属性,从而可以调整显示窗口的大小,
import cv2 as cv
image_name = "../test/demo.jpg"
cv.namedWindow(image_name, cv.WINDOW_NORMAL | cv.WINDOW_KEEPRATIO | cv.WINDOW_GUI_EXPANDED)
# 此时窗口名称为image_name
img = cv.imread(image_name)
cv.imshow(image_name, img) # 在“image_name”窗口中绘制图像
cv.waitKey(0)
cv.destroyAllWindows()
参数说明:
cv.WINDOW_NORMAL | cv.WINDOW_KEEPRATIO | cv.WINDOW_GUI_EXPANDED
:这种逻辑或的写法是来自于OpenCV的官方doc);