如何将图像的路径放入变量中并将其与 imread() 一起使用

Posted

技术标签:

【中文标题】如何将图像的路径放入变量中并将其与 imread() 一起使用【英文标题】:How can i put the path of an image in a variable and use it with imread() 【发布时间】:2020-04-21 14:28:17 【问题描述】:

我想选择一个图像并将路径保存在一个变量中。然后我想用这个变量来显示图像。为此,我使用了以下代码:

def open_dialog_box(self):
        filename, _ = np.asarray(QFileDialog.getOpenFileNames(self, 'Select Multi File', 'default', 'All Files (*)'))
        for name in filename:
            #import pic
            pic = cv2.imread(name, cv2.IMREAD_ANYDEPTH) #This doesn't works
            **pic = cv2.imread("C:\\Users\\Image_name", cv2.IMREAD_ANYDEPTH)** #This works
            cv2.imshow("Window", pic)

app = QApplication(sys.argv)
w = Fenster()
w.show()
sys.exit(app.exec_())

粗线有效。但我不想每次都进入整个路径。我希望将路径自动存储在变量中,然后用于显示图像。有没有一种方法可以使用变量而不是输入整个路径?

【问题讨论】:

删除np.asarray,是不必要的。 我已经这样做了,但它并没有解决我的问题。 print(name) 的输出是什么? 输出类似于“C:/Users/Image_name.png”。我认为问题在于,当我在变量中保护路径时,使用“/”而不是“\\”是安全的“。但不知道如何解决它。 更改为pic = cv2.imread(os.path.abspath(name), cv2.IMREAD_ANYDEPTH) 【参考方案1】:

我试过这个看看它是否适合你:

import cv2
import os.path
xp2 = os.path.abspath("")
#xp2 is having the path of the image, currently it is having pwd.
#print(xp2)
xp3 = xp2+"\screenshot.png"
#xp3 is the new variable with ur file name as to be used
img_1 = cv2.imread(xp3)
print(img_1)

在打印 img_1 时,我得到了图像的 o/p。 现在您可以根据自己的需要在程序中使用此路径。

【讨论】:

以上是关于如何将图像的路径放入变量中并将其与 imread() 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何获取特色图像并将其图像路径放入内联样式,即。 <div style="background:url(filepath/here)";>?

如何使用 Swift 2.0 在 Parse.com (REST API) 中上传图像并将其与用户关联

尝试将 mongo 数据存储在变量中并将其与 hbs 一起使用

opencv中 cv2.imread 路径问题

DreamFactory:如何将图像上传到文件服务器并将图像的路径保存在数据库中?

怎么将图片导入matlab中?让图片出现在程序中?如果要存入matlab路径,该存入哪个路径?