画像を分割していって、データを二次元リストに入力していく方法
プログラムを書いたのですが、なぜかエラーが出ます、どうすれば良いのでしょうか。
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}
エラー内容
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つ分かったのですが、なぜかこの条件文中では不等号と等号は区別がないみたいです、
なんで等号つけるのやめます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/03 11:19
2021/07/03 13:37
2021/07/03 13:40 編集
2021/07/03 13:45
2021/07/03 14:34
2021/07/03 16:18