【opencv-python】 cv2.imshow()显示图像

【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.运行

【opencv-python】 cv2.imshow()显示图像

4.总结

初步总结,后续更新:
cv2.waitKey(arg1) 参数arg1是整数,代表整数个毫秒。

上一篇:采用merge语句的非关联形式再次显神能


下一篇:设计模式之原型模式