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

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

新規登録して質問してみよう
ただいま回答率
85.35%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

1834閲覧

画像を分割していって、データを二次元リストに入力していく方法

ques346

総合スコア47

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2021/07/03 10:57

編集2021/07/03 12:35

画像を分割していって、データを二次元リストに入力していく方法
プログラムを書いたのですが、なぜかエラーが出ます、どうすれば良いのでしょうか。

R

1img = load.image("box0.jpg") 2img = resize(img,10,10) 3 4imger <- list() 5df <- list() 6 7for (i in 1:4) { 8 for (j in 1:4) { 9 imger[i][j] = imsub(img, (2*j <= x) && (x < 2*(j+1)), (2*i <= y) && (y < 2*(i+1))) 10 df[i][j] = as.data.frame( imger[i][j] ) 11 } 12}

画像(box0.jpg)
イメージ説明

エラー内容
imger[i][j] <- imsub(img, (2 * j <= x) && (x < 2 * (j + 1)), でエラー:
replacement (置き換え) の長さが 0

全然分からないのですが・・・何が0なのか・・・?

範囲はいちいち,で区切って引数にする必要があるんですかね?

それを踏まえた上でのコードは以下

R

1img = load.image("box0.jpg") 2img = resize(img,10,10) 3 4imger <- list() 5df <- list() 6 7for (i in 1:4) { 8 for (j in 1:4) { 9 imger[i][j] = imsub(img, 2*j <= x, x < 2*(j+1), 2*i <= y, y < 2*(i+1)) 10 df[i][j] = as.data.frame( imger[i][j] ) 11 } 12}

以下のエラーが出ます。
][j] <- as.data.frame(imger[i][j]) でエラー:
replacement (置き換え) の長さが 0 です
追加情報: 警告メッセージ:
1: imger[i][j] <- imsub(img, 2 * j <= x, x < 2 * (j + 1), 2 * i <= で:
置き換えるべき項目数が、置き換える数の倍数ではありませんでした
2: imger[i][j] <- imsub(img, 2 * j <= x, x < 2 * (j + 1), 2 * i <= で:
置き換えるべき項目数が、置き換える数の倍数ではありませんでした
3: imger[i] <- *vtmp* で:
置き換えるべき項目数が、置き換える数の倍数ではありま

しかし、

R

1img = load.image("box0.jpg") 2img = resize(img,10,10) 3 4imger <- list() 5df <- list() 6 7for (i in 1:4) { 8 for (j in 1:4) { 9 imger[i][j] = imsub(img, 2*j <= x, x < 2*(j+1), 2*i <= y, y < 2*(i+1)) 10 } 11}

という風に、データフレーム化しなければ、エラーが出ません。
しかし、データフレーム化しないと情報が見れません。
どうすれば良いのでしょうか。

あと1つ分かったのですが、なぜかこの条件文中では不等号と等号は区別がないみたいです、
なんで等号つけるのやめます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

おそらくそこには画像サイズが入ると思いますが、&&という演算子はなにを表すものか確認してみては。

投稿2021/07/03 11:11

y_waiwai

総合スコア88042

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

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

ques346

2021/07/03 11:19

演算子の問題ですか? &&と||は同じもので「かつ」を指すので、論理記号として使い方はあっていると思うのですが・・・
episteme

2021/07/03 13:37

&&と||は同じもの?
y_waiwai

2021/07/03 13:40 編集

で、その計算結果はどうなるとお考えでしょうか って、問題変わってるやんw
ques346

2021/07/03 13:45

||だと上手くいくんですか?
KojiDoi

2021/07/03 14:34

> &&と||は同じもので「かつ」を指すので、 流石にこれはないわー。画像処理なんてややこしいことに手を出すより先に、適当なチュートリアルで基礎を固めるべき。初歩的なとこで引っかかって、そのつどアホみたいな質問を連発して、いつまでもこのノリでなんとかなると思っているとしたら世の中ナメ過ぎです。
ques346

2021/07/03 16:18

||だと上手くいきました、追記しましたが、またエラーです、謎の
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問