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

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

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

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

Q&A

0回答

642閲覧

画像を分割し、分割した画像情報をあるコードに処理させようとして上手く行かない。

ques346

総合スコア47

R

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

0グッド

0クリップ

投稿2021/07/05 03:55

まず、forとlistの組み合わせが上手くいかなかったので、地道に分解コードを書きました。

R

1img = load.image("imger.jpg") 2img = resize(img,10,10) 3imger1 = imsub(img, 1 < x || x < 2, 1 < y || y < 2) 4df1 = as.data.frame( imger1 ) 5imger2 = imsub(img, 2 < x || x < 3, 1 < y || y < 2) 6df2 = as.data.frame( imger2 ) 7imger3 = imsub(img, 3 < x || x < 4, 1 < y || y < 2) 8df3 = as.data.frame( imger3 ) 9imger4 = imsub(img, 4 < x || x < 5, 1 < y || y < 2) 10df4 = as.data.frame( imger4 ) 11imger5 = imsub(img, 5 < x || x < 6, 1 < y || y < 2) 12df5 = as.data.frame( imger5 ) 13imger6 = imsub(img, 6 < x || x < 7, 1 < y || y < 2) 14df6 = as.data.frame( imger6 ) 15imger7 = imsub(img, 7 < x || x < 8, 1 < y || y < 2) 16df7 = as.data.frame( imger7 ) 17imger8 = imsub(img, 8 < x || x < 9, 1 < y || y < 2) 18df8 = as.data.frame( imger8 ) 19imger9 = imsub(img, 9 < x || x < 10, 1 < y || y < 2) 20df9 = as.data.frame( imger9 ) 21imger10 = imsub(img, 1 < x || x < 2, 2 < y || y < 3) 22df10 = as.data.frame( imger10 ) 23imger11 = imsub(img, 2 < x || x < 3, 2 < y || y < 3) 24df11 = as.data.frame( imger11 ) 25imger12 = imsub(img, 3 < x || x < 4, 2 < y || y < 3) 26df12 = as.data.frame( imger12 ) 27imger13 = imsub(img, 4 < x || x < 5, 2 < y || y < 3) 28df13 = as.data.frame( imger13 ) 29imger14 = imsub(img, 5 < x || x < 6, 2 < y || y < 3) 30df14 = as.data.frame( imger14 ) 31imger15 = imsub(img, 6 < x || x < 7, 2 < y || y < 3) 32df15 = as.data.frame( imger15 ) 33imger16 = imsub(img, 7 < x || x < 8, 2 < y || y < 3) 34df16 = as.data.frame( imger16 ) 35imger17 = imsub(img, 8 < x || x < 9, 2 < y || y < 3) 36df17 = as.data.frame( imger17 ) 37imger18 = imsub(img, 9 < x || x < 10, 2 < y || y < 3) 38df18 = as.data.frame( imger18 ) 39imger19 = imsub(img, 1 < x || x < 2, 3 < y || y < 4) 40df19 = as.data.frame( imger19 ) 41imger20 = imsub(img, 2 < x || x < 3, 3 < y || y < 4) 42df20 = as.data.frame( imger20 ) 43imger21 = imsub(img, 3 < x || x < 4, 3 < y || y < 4) 44df21 = as.data.frame( imger21 ) 45imger22 = imsub(img, 4 < x || x < 5, 3 < y || y < 4) 46df22 = as.data.frame( imger22 ) 47imger23 = imsub(img, 5 < x || x < 6, 3 < y || y < 4) 48df23 = as.data.frame( imger23 ) 49imger24 = imsub(img, 6 < x || x < 7, 3 < y || y < 4) 50df24 = as.data.frame( imger1 ) 51imger25 = imsub(img, 7 < x || x < 8, 3 < y || y < 4) 52df25 = as.data.frame( imger25 ) 53imger26 = imsub(img, 8 < x || x < 9, 3 < y || y < 4) 54df26 = as.data.frame( imger26 ) 55imger27 = imsub(img, 9 < x || x < 10, 3 < y || y < 4) 56df27 = as.data.frame( imger27 ) 57imger28 = imsub(img, 1 < x || x < 2, 4 < y || y < 5) 58df28 = as.data.frame( imger28 ) 59imger29 = imsub(img, 2 < x || x < 3, 4 < y || y < 5) 60df29 = as.data.frame( imger29 ) 61imger30 = imsub(img, 3 < x || x < 4, 4 < y || y < 5) 62df30 = as.data.frame( imger30 ) 63imger31 = imsub(img, 4 < x || x < 5, 4 < y || y < 5) 64df31 = as.data.frame( imger31 ) 65imger32 = imsub(img, 5 < x || x < 6, 4 < y || y < 5) 66df32 = as.data.frame( imger32 ) 67imger33 = imsub(img, 6 < x || x < 7, 4 < y || y < 5) 68df33 = as.data.frame( imger33 ) 69imger34 = imsub(img, 7 < x || x < 8, 4 < y || y < 5) 70df34 = as.data.frame( imger34 ) 71imger35 = imsub(img, 8 < x || x < 9, 4 < y || y < 5) 72df35 = as.data.frame( imger35 ) 73imger36 = imsub(img, 9 < x || x < 10, 4 < y || y < 5) 74df36 = as.data.frame( imger36 ) 75imger37 = imsub(img, 1 < x || x < 2, 5 < y || y < 6) 76df37 = as.data.frame( imger37 ) 77imger38 = imsub(img, 2 < x || x < 3, 5 < y || y < 6) 78df38 = as.data.frame( imger38 ) 79imger39 = imsub(img, 3 < x || x < 4, 5 < y || y < 6) 80df39 = as.data.frame( imger39 ) 81imger40 = imsub(img, 4 < x || x < 5, 5 < y || y < 6) 82df40 = as.data.frame( imger40 ) 83imger41 = imsub(img, 5 < x || x < 6, 5 < y || y < 6) 84df41 = as.data.frame( imger41 ) 85imger42 = imsub(img, 6 < x || x < 7, 5 < y || y < 6) 86df42 = as.data.frame( imger42 ) 87imger43 = imsub(img, 7 < x || x < 8, 5 < y || y < 6) 88df43 = as.data.frame( imger43 ) 89imger44 = imsub(img, 8 < x || x < 9, 5 < y || y < 6) 90df44 = as.data.frame( imger44 ) 91imger45 = imsub(img, 9 < x || x < 10, 5 < y || y < 6) 92df45 = as.data.frame( imger45 ) 93imger46 = imsub(img, 1 < x || x < 2, 6 < y || y < 7) 94df46 = as.data.frame( imger46 ) 95imger47 = imsub(img, 2 < x || x < 3, 6 < y || y < 7) 96df47 = as.data.frame( imger47 ) 97imger48 = imsub(img, 3 < x || x < 4, 6 < y || y < 7) 98df48 = as.data.frame( imger48 ) 99imger49 = imsub(img, 4 < x || x < 5, 6 < y || y < 7) 100df49 = as.data.frame( imger49 ) 101imger50 = imsub(img, 5 < x || x < 6, 6 < y || y < 7) 102df50 = as.data.frame( imger50 )

で、このデータを以下コードによりcsv化し、

R

1img = load.image( "imger1.png" ) 2img = resize(img,10,10) 3df = as.data.frame( img ) 4df = df[3:4] 5colnames(df) <- c("input","output") 6write.csv(df,"imger1.csv",row.names=FALSE)

更に以下のニューラルコードで、既に他の画像を元に上のコードを用いて作ってあるimger2.csvと比較をする。

R

1train <- read.csv("imger2.csv",h=T) 2valid <- read.csv(sprintf("imger2.csv", x),h=T) 3 4sin1 <- nnet(data=train,output~input,size=3,maxit=2000); 5yosoku1 <- predict(sin1,valid,type="raw") 6sum(yosoku1)

事をしたいのですが(50個全てに対し)、根本的な所で引っかかってます、具体的には、
例えば、1個だけ、df50だけ取り出してみても、

R

1df50 = df50[3,4] 2colnames(df50) <- c("input","output") 3write.csv(df,sprintf("imger%d.csv", x),row.names=FALSE)

colnames<-(*tmp*, value = c("input", "output")) でエラー:
次元が 2 未満のオブジェクトに 'colnames' を設定しよう
というエラーが出ます、同じ方法で作成しているはずなのに、2未満であるから、等という理由でcsv化できません(resizeや区分範囲(x,y)を大きくしても変わりませんでした)。

ちなみに、csv化しなくとも、直接ニューラルコードに入力してできるのであれば、それでも良いです(が、できません、このままのコードであれば)、
どのようにすれば良いのでしょうか。

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

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

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

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

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

KojiDoi

2021/07/05 04:32

df50 = df50[3,4] これが何しているかは理解できてる?
ques346

2021/07/05 05:46

3,4列目だけを取り出している。 なんか色々分かった事があり、また未だに論理記号が意味不明な部分があることが分かりました。
KojiDoi

2021/07/05 06:41

> 3,4列目だけを取り出している。 全然違います。勉強最初からやり直し。
ques346

2021/07/05 15:21

いやこれほんとに・・・ [3:4]ですね、気づかなかった・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問