【问题标题】:How to display test images at random from image test folder如何从图像测试文件夹中随机显示测试图像
【发布时间】:2020-01-07 13:00:12
【问题描述】:

我正在使用 Haralick 纹理来解决医学图像分类问题。我想遍历带有未标记图像的测试文件夹,并将它们打印在带有预测标签的 jupyter 笔记本中。

cv2.imshow() 将输出一个随机图像来显示,但是,当我使用plt.imshow() 在 jupyter 笔记本中显示时,返回的是相同的图像。

# loop over the test images
test_path = 'data/test/test'
for file in glob.glob(test_path + "/*.jpeg"):
        # read the input image
        image = cv2.imread(file)

        # convert to grayscale
        gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

        # extract haralick texture from the image
        features = extract_features(gray)

# evaluate the model and predict label
prediction = clf_svm.predict(features.reshape(1, -1))[0]

# show the label
cv2.putText(image, prediction, (20,30), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0,255,255), 3)

# display the output image
#cv2.imshow("Test_Image", image)
#cv2.waitKey(0)

# display the output image in notebook
plt.imshow(image)
plt.show()

使用 pyplot 返回相同的图像,我想返回测试文件夹中的所有(或随机子集)图像。

如果有什么不清楚的,我会澄清的。谢谢。

example image

【问题讨论】:

    标签: python opencv jupyter-notebook textures feature-extraction


    【解决方案1】:

    核心问题是你的循环。您没有在循环期间制表 - 您正在使用一个变量。循环访问的最后一项将是imagegrayfeatures 都基于的那个。

    然后在循环之外对这些单个项目进行附加处理,输出也是如此。

    您可能希望将所有处理都放在 for 循环中,或者您希望将项目存储在某种列表中,然后对循环项目进行进一步处理,可能会暂停以查看不同的输出。

    【讨论】:

      猜你喜欢
      • 2022-12-24
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 2014-01-30
      • 1970-01-01
      相关资源
      最近更新 更多