gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

'tuple' object has no attribute 'pop'

2024-10-23 18:40:55 | Python
openCVを使った機械学習や画像処理をしていると 'tuple' object has no attribute 'pop' というエラーが度々生じる。
タプルは辞書型で、変数ではないことから編集や修正はできませんよというエラーです。
openCVを使って輪郭線(コンター)の処理を使用しようとすると cv2.findContours の出力値がこのタプルで返される。それを編集しようとしてエラーが生じるわけです。
でも、 max_area = contours.pop(k) のような処理をしたい場合があります。このような場合には、タプルからリストへと変換して処理を続行するということで回避できます。

例えば、

conts = list(contours)
と一時的にリスト変換して、このリストに対して、
max_area = conts.pop(max_area_idx)

とすれば良いわけです。


最新の画像もっと見る

コメントを投稿