欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python OpenCV一個窗口中顯示多幅圖像

 更新時間:2022年01月10日 14:54:37   作者:Hong_Youth  
大家好,本篇文章主要講的是Python OpenCV一個窗口中顯示多幅圖像,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

在使用opencv顯示圖像時,有時候需要顯示多張圖像,就會出現(xiàn)多個窗口,顯得冗余,用戶不好操作。這時候就想著能不能將這些圖像在一個窗口中顯示。

方法1:創(chuàng)建畫布,將所有圖像復(fù)制到畫布中,最后顯示畫布

  # 方法1:創(chuàng)建一個畫布,將所有圖像復(fù)制到畫布中,最后顯示畫布
    h, w, _ = img.shape

    img_list = [img, invert, gaussianBlur, flip]  # 圖像列表

    four_view = np.zeros((h * 2 + 10, w * 2 + 10, 3), np.uint8)  # 創(chuàng)建空白圖像
    four_view[:, :] = 255  # 給所有通道的像素值賦值255
    for i in range(len(img_list)):
        row = i // 2
        col = i % 2
        print(row, col)
        # 將小圖像復(fù)制到大畫布上。
        np.copyto(four_view[(h + 10) * row:h * (row + 1) + 10 * row, (w + 10) * col:w * (col + 1) + 10 * col],
                  img_list[i])

    cv.imshow('result', four_view)

方法2:使用numpy模塊中的水平堆疊和豎直堆疊完成所有圖像的堆疊,最后當成一整張圖顯示。

主要用到的兩個函數(shù)有:np.hstack()np.vstack()

水平堆疊函數(shù)hstack(tup):ndarrays 序列除了第二個軸外,數(shù)組必須具有相同的形狀,除了可以是任意長度的一維數(shù)組。豎直堆疊函數(shù)np.vstack():ndarrays 序列除了第一個軸外,數(shù)組必須具有相同的形狀。一維數(shù)組必須具有相同的長度。

# 方法2:使用numpy的水平堆疊和豎直堆疊完成所有圖像的堆疊,最后一起顯示
    vs1 = np.hstack((img, invert))  # 水平堆疊
    vs2 = np.hstack((gaussianBlur, flip))  # 水平堆疊
    result = np.vstack((vs1, vs2))  # 豎直堆疊

整個項目的完整代碼:

# -*-coding:utf-8-*-
"""
File Name: color_operation.py
Program IDE: PyCharm
Create File By Author: Hong
"""
import cv2 as cv
import numpy as np


def image_display(image_path: str):
    """
    多個圖像在一個窗口內(nèi)顯示
    :param image_path: 傳入圖像路徑
    :return:
    """
    img = cv.imread(image_path, cv.IMREAD_COLOR)

    # 顏色取反
    invert = cv.bitwise_not(img)
    # 高斯模糊
    gaussianBlur = cv.GaussianBlur(img, (0, 0), 10)
    # 鏡像
    flip = cv.flip(img, 1)  # 0表示繞x軸翻轉(zhuǎn);1表示繞y軸翻轉(zhuǎn);-1表示繞兩個軸翻轉(zhuǎn)

    # 方法1:創(chuàng)建一個畫布,將所有圖像復(fù)制到畫布中,最后顯示畫布
    h, w, _ = img.shape

    img_list = [img, invert, gaussianBlur, flip]

    four_view = np.zeros((h * 2 + 10, w * 2 + 10, 3), np.uint8)
    four_view[:, :] = 255  # 給所有通道的像素值賦值255
    for i in range(len(img_list)):
        row = i // 2
        col = i % 2
        print(row, col)
        # 將小圖像復(fù)制到大畫布上。
        np.copyto(four_view[(h + 10) * row:h * (row + 1) + 10 * row, (w + 10) * col:w * (col + 1) + 10 * col],
                  img_list[i])
    cv.imshow('result', four_view)

    # 方法2:使用numpy的水平堆疊和豎直堆疊完成所有圖像的堆疊,最后一起顯示
    vs1 = np.hstack((img, invert))  # 水平堆疊
    vs2 = np.hstack((gaussianBlur, flip))  # 水平堆疊
    result = np.vstack((vs1, vs2))  # 豎直堆疊

    # 初略解決imshow()中文亂碼顯示的問題。不能完全解決,有些中文無法顯示。這是python-opencv的弊端
    def zh_ch(string):
        return string.encode('gbk').decode(errors='ignore')

    cv.imshow(zh_ch('圖片'), result)

    cv.waitKey(0)
    cv.destroyAllWindows()


if __name__ == '__main__':
    path = 'images/daiyutong.png'
    image_display(path)

效果展示:

OpenCV-Python在一個窗口中顯示多幅圖像_python

到此這篇關(guān)于Python OpenCV一個窗口中顯示多幅圖像的文章就介紹到這了,更多相關(guān)Python OpenCV圖像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)的掃碼工具居然這么好用!

    Python實現(xiàn)的掃碼工具居然這么好用!

    二維碼作為一種信息傳遞的工具在當今社會發(fā)揮了重要作用.從手機用戶登錄到手機支付,生活的各個角落都能看到二維碼的存在.那你知道二維碼是怎么解析的嗎?有想過自己實現(xiàn)一個掃碼工具嗎?如果想的話就繼續(xù)看下去吧!需要的朋友可以參考下
    2021-06-06
  • Python IDLE入門簡介

    Python IDLE入門簡介

    這篇文章主要介紹了Python IDLE入門簡介,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • Python中assert函數(shù)的使用(含源代碼)

    Python中assert函數(shù)的使用(含源代碼)

    本文主要介紹了Python中assert函數(shù)的使用(含源代碼),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • 跟老齊學Python之使用Python查詢更新數(shù)據(jù)庫

    跟老齊學Python之使用Python查詢更新數(shù)據(jù)庫

    前面我們講述了使用python操作數(shù)據(jù)庫,今天我們來更進一步,介紹下python查詢、更新數(shù)據(jù)庫的相關(guān)操作。有需要的小伙伴自己參考下吧。
    2014-11-11
  • Python操作MongoDB數(shù)據(jù)庫的方法示例

    Python操作MongoDB數(shù)據(jù)庫的方法示例

    這篇文章主要介紹了Python操作MongoDB數(shù)據(jù)庫的方法,結(jié)合實例形式分析了Python命令行模式下操作MongoDB數(shù)據(jù)庫實現(xiàn)連接、查找、刪除、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python實現(xiàn)按當前日期(年、月、日)創(chuàng)建多級目錄的方法

    Python實現(xiàn)按當前日期(年、月、日)創(chuàng)建多級目錄的方法

    這篇文章主要介紹了Python 按當前日期(年、月、日)創(chuàng)建多級目錄的方法,實現(xiàn)代碼很簡單,需要的朋友可以參考下
    2018-04-04
  • python中 chr unichr ord函數(shù)的實例詳解

    python中 chr unichr ord函數(shù)的實例詳解

    這篇文章主要介紹了python中 chr unichr ord函數(shù)的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • pycharm遠程調(diào)試openstack代碼

    pycharm遠程調(diào)試openstack代碼

    這篇文章主要為大家詳細介紹了pycharm遠程調(diào)試openstack的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 使用python 3實現(xiàn)發(fā)送郵件功能

    使用python 3實現(xiàn)發(fā)送郵件功能

    本文通過實例代碼給大家介紹了使用python 3實現(xiàn)發(fā)送郵件功能,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • python求定積分之quad函數(shù)詳解

    python求定積分之quad函數(shù)詳解

    這篇文章主要介紹了python求定積分之quad函數(shù)詳解,SciPy下實現(xiàn)求函數(shù)的積分的函數(shù)的基本使用,積分,高等數(shù)學里有大量的講述,基本意思就是求曲線下面積之和,需要的朋友可以參考下
    2023-08-08

最新評論