【opencv-python】 cv2.imshow显示图像
1.背景
opencv这个库地位很高,功能多,实现高效!还开源!
最近会将opencv-python中经常使用接口,做一些简要的汇总,
方便以后更快的查询以及更清楚的使用!
注:详细的接口描述,请查阅opencv官方文档。
cv2的GUI的显示的接口:
cv2.imshow(winname, mat)
其中:
winname是窗口名称,字符串类型;
mat:是numpy.ndarray,即 N 维数组对象;
2.代码
你可以在工程中集成如下函数,方便图像窗体的展示,代码如下:
def cv2_show(img,showName,showScale,showLocation,t1):
'''
只是3个通道的BGR彩色图像或者一个通道的灰度图像;
:param img: N 维数组对象;
:param showName: 窗口的名称;
:param showScale: 窗口的缩放比例;
:param showLocation: 窗口的位置;
:param t1: 显示多少毫秒的图像
:return:None
'''
RowColumn_tuple= img.shape[0],img.shape[1]
#根据 窗口的缩放比例计算出实际图片显示的width,heigh
show_high, show_width = [int(i * showScale) for i in RowColumn_tuple]
# 图片显示的位置left,top
if not ((isinstance(showLocation, list) or isinstance(showLocation, tuple)) and len(showLocation) == 2):
raise Exception("图片显示的位置,请用元祖或列表表示,包含x,y")
show_loc_left,show_loc_top=showLocation
cv2.namedWindow(showName,0) # cv2.WINDOW_NORMAL就是0,窗体可以*变换大小
cv2.resizeWindow(showName, show_width, show_high) # 该表窗体的宽、高;
cv2.moveWindow(showName,show_loc_left,show_loc_top) # 改变窗口在屏幕的显示位置:指定窗口的左上角;
cv2.imshow(showName,img) # 指定窗体名称,以及要显示的numpy多维数组;
cv2.waitKey(int(t1)) # 窗体显示的时间,单位是毫秒;
3.运行
4.总结
初步总结,后续更新:
cv2.waitKey(arg1) 参数arg1是整数,代表整数个毫秒。