二値化をしたいため、下記のようなコードを書きました。ですが#1のところにエラーが出てしまいました。
ここには写真の情報すべてが入っているらしいので、これを数字の配列のみにしたいのですが、どうすればよいのかわかりません。
Python
1import cv2 2import matplotlib.pyplot as plp 3 4#画像を読み込んでリサイズ 5img=cv2.imread("itzy.jpg") 6#色空間を二値化 7img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 8img=cv2.GaussianBlur(img,(7,7),0) 9img=cv2.threshold(img,100,200,cv2.THRESH_BINARY_INV) #1 10plp.imshow(img,cmap="gray")
また、あるサイトには#1の最後に[1]を付ければよいと書いてあったのですがこれはどういう意味ですか?
エラー文
VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
x = np.array(x, subok=True, copy=copy)
Traceback (most recent call last):
File "c:\Practice\trying.py", line 10, in <module>
plp.imshow(img,cmap="gray")
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib\pyplot.py", line
2903, in imshow
_ret = gca().imshow(
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib_init.py", line 1361, in inner
return func(ax, *map(sanitize_sequence, args), **kwargs)
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib\axes_axes.py", line 5609, in imshow
im.set_data(X)
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib\image.py", line 700, in set_data
raise TypeError("Image data of dtype {} cannot be converted to "
TypeError: Image data of dtype object cannot be converted to float
回答1件
あなたの回答
tips
プレビュー