質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

17856閲覧

'numpy.ndarray' object is not callable の原因と対処法をお願いします。

Latory_

総合スコア25

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/11/29 15:01

前提・実現したいこと

aという2次元配列の1行目から2行目の差分を取り、それを空のbという2次元配列の1、2行目に代入。aの1行目から2行目の差分を取り、bの1、2行目に代入。aの5行目から6行目の差分を取り…という繰り返しを行おうとして以下のコードを作成しましたがエラーがでます。

環境 VSCode:python3.6

発生している問題・エラーメッセージ

'numpy.ndarray' object is not callable

該当のソースコード

import numpy as np import matplotlib.pyplot as plt import cv2 a = np.array(Image.open('*.jpg')).convert('L')) raw = a.shape[0] column = a.shape[1] b = np.empty(shape=(0,0)) for x in a(range(0,raw,2)): for y in a(range(0,column,2)): value = a[x,y] - a[x+1,y] + 128 b[x,y] = value b[x+1,y] = value b = np.clip(data_array,0,255)

試したこと

プログラミング自体の経験が浅いため、ネットを参照してここまで作成しました。

補足情報(FW/ツールのバージョンなど)

for文の中身でエラーが出ることは分かっていて、エラー内容は確認しましたがどこの部分に問題があるか教えていただけると幸いです。

bはaと同じ大きさなら空である必要はないです。
bは0~255の値になるようにする必要があります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

  • 'numpy.ndarray' object is not callable の原因

python

1a(range(0,raw,2))

という書き方は認められないのでエラーとなっています。

  • 'numpy.ndarray' object is not callable の対処法

ループを回したいだけなら

python

1for x in range(0,raw,2): 2 for y in range(0,column,2):

でしょう。
しかし、本文で書かれている「やりたいこと」とソースコードの乖離が激しいので、「やりたいこと」に修正するのはあきらめました。理由は「やりたいこと」の意味をくみ上げることができなかったためです。

投稿2021/11/29 15:20

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問