1,读取图像
2,显示图像
3,绘制矩形框
%matplotlib inline
import matplotlib
import matplotlib.patches as patches
import matplotlib.pyplot as plt
import cv2
img=cv2.imread("lena.png")
plt.figure()
plt.imshow(img)
currentAxis=plt.gca()
rect=patches.Rectangle((50, 150),200,100,linewidth=1,edgecolor='r',facecolor='none')
currentAxis.add_patch(rect)
使用cv2.imread读取图像到img,使用matplotlib将img显示到figure中。
发现显示的图像偏蓝色。
这是因为matplotlib使用的颜色模式是我们流行的RGB模式,而opencv使用的BGR模式。因此,在使用matplotlib显示之前先要做一下图像颜色的转换。
# 将BGR图像转变为RGB图像
cv_rgb = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
修改之后的代码:
%matplotlib inline
import matplotlib
import matplotlib.patches as patches
import matplotlib.pyplot as plt
import cv2
img=cv2.imread("lena.png")
# 将BGR图像转变为RGB图像
cv_rgb = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
plt.figure()
plt.imshow(img)
currentAxis=plt.gca()
rect=patches.Rectangle((50, 150),200,100,linewidth=1,edgecolor='r',facecolor='none')
currentAxis.add_patch(rect)
使用cv2.imread读取图像到img,使用matplotlib将img显示到figure中。
发现显示的图像偏蓝色。
这是因为matplotlib使用的颜色模式是我们流行的RGB模式,而opencv使用的BGR模式。因此,在使用matplotlib显示之前先要做一下图像颜色的转换。
也可以直接用matplotlib读取图像,修改之后的代码如下:
%matplotlib inline
import matplotlib
import matplotlib.patches as patches
import matplotlib.pyplot as plt
img=matplotlib.image.imread("lena.png")
plt.figure()
plt.imshow(img)
currentAxis=plt.gca()
rect=patches.Rectangle((50, 150),200,100,linewidth=1,edgecolor='r',facecolor='none')
currentAxis.add_patch(rect)
https://blog.csdn.net/qq_36941368/article/details/82998296
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
PIL(Python Imaging Library),即Pillow,相比opencv更为轻巧。Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内。如open、save、show等功能。
读取操作
Matplotlib是一个Python 2D绘图库,它可以在不同的平台上以各种硬拷贝格式和交互环境生成发布质量数据。Matplotlib可以用于Python脚本、Python和IPython shell、Jupyter notebook、web应用服务器和四个图形用户界面工具包。对于简单的绘图,pyplot模块提供了一个类似于matlab的接口,特别是与IPython结合使用时。对于power用户,您可以通过面向对象的界面或通过MATLAB用户熟悉的一组函数来完全控制线样式、字体属性、轴属性等.
scikit-image是一组用于图像处理和计算机视觉的算法。“skimage”的主要包只提供了一些用于转换图像数据类型的实用程序;大多数功能程序存在其子包中。读取功能包含在io模块中。
https://blog.csdn.net/jiaoyangwm/article/details/79293272#13-numpy%E5%BA%93