0
イメージ内の円(セルのような円)を検出し、各円の緑色(緑色のピクセル数?)を測定したいとします。TypeError:ラベルイメージは整数型でなければなりません
私は次のコードでthis議論を使用しています:私は次のエラーを取得する
from skimage import io, color, measure, draw, img_as_bool
import numpy as np
from scipy import optimize
import matplotlib.pyplot as plt
image = img_as_bool(color.rgb2gray(io.imread('0.06_3a.jpg')))
regions = measure.regionprops(image)
bubble = regions[0]
y0, x0 = bubble.centroid
r = bubble.major_axis_length/2.
def cost(params):
x0, y0, r = params
coords = draw.circle(y0, x0, r, shape=image.shape)
template = np.zeros_like(image)
template[coords] = 1
return -np.sum(template == image)
x0, y0, r = optimize.fmin(cost, (x0, y0, r))
import matplotlib.pyplot as plt
f, ax = plt.subplots()
circle = plt.Circle((x0, y0), r)
ax.imshow(image, cmap='gray', interpolation='nearest')
ax.add_artist(circle)
plt.show()
:
/home/mahsa/anaconda3/lib/python3.6/site-packages/skimage/util/dtype.py:118: UserWarning: Possible sign loss when converting negative image of type float64 to positive image of type bool.
.format(dtypeobj_in, dtypeobj_out))
/home/mahsa/anaconda3/lib/python3.6/site-packages/skimage/util/dtype.py:122: UserWarning: Possible precision loss when converting from float64 to bool
.format(dtypeobj_in, dtypeobj_out))
Traceback (most recent call last):
File "img.py", line 28, in <module>
regions = measure.regionprops(image)
File "/home/mahsa/anaconda3/lib/python3.6/site-packages/skimage/measure/_regionprops.py", line 539, in regionprops
raise TypeError('Label image must be of integral type.')
TypeError: Label image must be of integral type.
- は、このエラーが何を意味し、私はそれを修正するために何をすべき?
このエラーを修正したら、各領域のすべてのピクセルをループして緑色のピクセルを数えますか?
が
トレースバック全体を提供できますか? – user615501
Pythonエラーを報告するときは、常に* complete * traceback(完全なエラーメッセージ)を表示してください。有用な情報が含まれています。最も重要なことは、エラーをトリガーした行を示します。 –
さて、申し訳ありません、投稿を編集しました。 :) – user8224662