2

我的代码中加载了一个图像(非常长且不必要,不会在此处发布),我需要使用 skimage 来检测图像中的斑点。但是由于某种原因,我使用的所有图像和尝试都不起作用。

PIL 在上面的代码中修改了图像,使我试图找到的对象只有白色(255、255、255),而所有其他像素都是黑色的。这段代码只需要识别这些的位置。我尝试了许多不同的方法来让它工作(将它们转换为 numpy 数组,而不是将它们转换为 numpy 数组等。)

我遵循这些说明:http ://scikit-image.org/docs/dev/auto_examples/plot_blob.html是基础知识,但它并不是真正的教程,而是一个示例。

我认为 rgb2gray 函数存在问题,因为它只返回 0,而 print(numpy.array(img)) 返回的值介于 0 和 1 之间,这表明信息丢失是在调用 rgb2gray 时。

这是似乎有问题的代码:

img_gray = rgb2gray(numpy.array(img)) # Convert to numpy array for skimage
print(img_gray)
print(numpy.array(img))
img_blobs = blob_doh(img_gray, threshold=0.01, max_sigma=500)
print(img_blobs)

我怎样才能解决这个问题?

编辑:

以下是每个图像、数组和列表的打印内容:

[[ 0.          0.          0.         ...,  0.          0.          0.        ] #img_gray
 [ 0.          0.00392157  0.01568627 ...,  0.          0.          0.        ]
 [ 0.          0.01176471  0.05882353 ...,  0.          0.          0.        ]
 ..., 
 [ 1.          0.99607843  0.96078431 ...,  0.          0.          0.        ]
 [ 1.          1.          0.98039216 ...,  0.          0.          0.        ]
 [ 1.          1.          0.99215686 ...,  0.          0.          0.        ]]
[[[  0   0   0] #img
  [  0   0   0]
  [  0   0   0]
  ..., 
  [  0   0   0] #img
  [  0   0   0]
  [  0   0   0]]

 [[  0   0   0] #img
  [  1   1   1]
  [  4   4   4]
  ..., 
  [  0   0   0] #img
  [  0   0   0]
  [  0   0   0]]

 [[  0   0   0] #img
  [  3   3   3]
  [ 15  15  15]
  ..., 
  [  0   0   0] #img
  [  0   0   0]
  [  0   0   0]]

 ..., 
 [[255 255 255] #img
  [254 254 254]
  [245 245 245]
  ..., 
  [  0   0   0] #img
  [  0   0   0]
  [  0   0   0]]

 [[255 255 255] #img
  [255 255 255]
  [250 250 250]
  ..., 
  [  0   0   0] #img
  [  0   0   0]
  [  0   0   0]]

 [[255 255 255]
  [255 255 255]
  [253 253 253]
  ..., 
  [  0   0   0]
  [  0   0   0]
  [  0   0   0]]]
[] #img_blobs
4

1 回答 1

1

这会将图像文件(使用 PIL)读入 scimage:

from skimage import io
img = io.imread("./path/to/image.png")

由于您已经读取了图像并想自己进行数据转换,您可以在这里查看插件作者是如何做到的: https ://github.com/scikit-image/scikit-image/blob/master/skimage /io/_plugins/pil_plugin.py

于 2018-02-12T20:20:29.893 回答