如何在Python中使用OpenCV以特定顺序显示图像?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Python中使用OpenCV以特定顺序显示图像?相关的知识,希望对你有一定的参考价值。

我正在编写一个程序,它从用户那里获取一个字符串,并显示该字符串中每个字符的手语图像。此代码显示彼此重叠的图像。有没有办法按照输入的顺序显示这些图像? This is the output I am currently getting. This is how I want the output to look

import cv2

print("Say something !!!")
say = input()
i=1

for x in say :
    if x == " ":
        continue
    img = cv2.imread("TrainData" + x + "_1.jpg")
    cv2.imshow(x + str(i), img)
    i= i+1
cv2.waitKey(0)

我想根据输入从左到右显示图像。

答案

您可以将图像并排连接并在单个窗口中显示,而不是尝试定位窗口:

#!/usr/local/bin/python3
import numpy as np
import cv2

# Load the 4 letters we need
h = cv2.imread('h.png',0)
e = cv2.imread('e.png',0)
l = cv2.imread('l.png',0)
o = cv2.imread('o.png',0)

# Append images side-by-side
result = np.concatenate((h,e,l,l,o),axis=1)

# Save to disk, or display as a single, wide image
cv2.imwrite('result.png',result)

enter image description here


当然,如果你愿意,你可以制作垫片垫片:

#!/usr/local/bin/python3
import numpy as np
import cv2

# Load the 4 letters we need
h = cv2.imread('h.png',0)
e = cv2.imread('e.png',0)
l = cv2.imread('l.png',0)
o = cv2.imread('o.png',0)

shim = np.ones((200,10),dtype=np.uint8)*255

# Append images side-by-side
result = np.concatenate((h,shim,e,shim,l,shim,l,shim,o),axis=1)
cv2.imwrite('result.png',result)

enter image description here

以上是关于如何在Python中使用OpenCV以特定顺序显示图像?的主要内容,如果未能解决你的问题,请参考以下文章

图像处理——在Python中使用OpenCV显示图像

使用 OpenCV 和 Python 识别数字

使用 OpenCV 和 Python 识别数字

如何以特定顺序多次显示mysql记录

opencv python将图像读取为RGB

Python:如何使用特定版本 2.4.9 pip install opencv2?