いま普通なスキャナとプリンタを使って、マークシートの作成や読取ができるみたいです。
普通紙マークシート採点システムのようなソフトもあります。↓
http://www.vector.co.jp/soft/winnt/business/se39 …
そのソフトをインストールして、C言語で作れたことが分かりました。スキャナを使用し、回答用紙をjpgなどの画像ファイルに保存して、ソフトで採点できるんです。
私はC言語があまり分かりませんので、ここで聞きたいです。
(1)上記のようなソフトはどういう風にマークの正か誤かを判断しますか?画素ごと判断ではないでしょうか、鉛筆のマークの厚さや形状が違うと思いますが、どう解決しますか?
(2)JAVAで簡単な採点システムを作りたいですが、できますか?どういうふうにやれば実現できますか。

自分の力で解決できない問題が多いですね、経験がある方のアドバイスを是非いただきたいと思います。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

作ったことはないですし、作りきれる自信もないですが(^^;


画像の連続読み込みさえ出来れば、そんなに難しくはないと思います。
まず、白黒で読み込みますが、黒部分は、確実に黒に、塗りつぶす枠は、白になるように、汚れなどがある場合も白になるようにスキャナの明るさ調整をします。
(出来なければ、ソフト側でしきい値調整をし、白黒にします)

マークシートを見れば、原理はわかると思いますが、
シートには、シートの位置マークがまず付いていると思います。
これで始点と終点、座標が確定するわけです。
これは、シートの一番端の辺りにあるはずですから、端のあたりにある同一マークを検索します。
多分、斜めになったりなども有り得るので、斜めになった時用のデータも持って、位置検索しますが、
通常それはマークシートに最初からプリントされているものなので、
80%~90%くらいの確率で同じデータになればいいと思います。
ここで、画像を回転移動させて、検出位置データを塗りつぶしのチェック位置に持っていくか、
位置データーから塗りつぶしチェック位置を計算させるかは好みです。

位置データが出れば、必要なマークを書く位置は決まっているはずなので、各位置の塗りつぶし状況を見れば、いいだけです。
ここも、何%くらいで良いことにすればいいかはカットアンドトライでしょうか。
イメージセンサーなどにならえば、最初、200% 位の枠で見て、次 100% 位の枠で見て、最後に 50% 位の枠で見て、などと段階的に厳しくしていくなどの手法が多いようです。
200% -> 50~150
100% -> 50~100
50% -> 40~50
どれもパスすれば、塗りつぶしてあると判断でいいのではないかな。
(200% 時に 150 以上になるようでは、エラーですが。)

後は検出した位置データに沿って、データを格納していくだけです。
    • good
    • 0
この回答へのお礼

TERABITさん、ご回答ありがとうございます。

私は作りたいのは、普通紙のマークシート採点システムです。いろいろ調べましたが、確かに紙の右と下●か■のようなマークを付いたら、マークの範囲を判断しやすいみたいですね(私はまだこの判断方法については分かりません)。

>200% -> 50~150
>100% -> 50~100
>50% -> 40~50
>どれもパスすれば、塗りつぶしてあると判断でいいのではないかな。
>(200% 時に 150 以上になるようでは、エラーですが。)
上記の数字の意味がよく分かりませんが、もうちょっと詳しく教えていただけませんか。

私はJAVAを使って採点システムを作ると思いますので、これについてのアドバイスなどもいただければと思います。

よろしくお願い致します。

お礼日時:2009/05/15 21:21

No.1です。



>採点システムの仕組みは大体分かりましたが、実際にソフトを作る時、どんなクラスを使うとか、黒マークの判断とか、分からないことがまたあります。
>その具体的な内容は、やはり画像処理の本を読んだほうがいいですよね。
そうですね。
使用する(言語などの)開発環境により、手順は変わってきますので、それに合わせて調べるなり質問するなりは行ったほうがいいと思います。

>SilverThawさんの回答によって、こんな採点システムはそんなに難しいものではないでしょうか、1ヶ月くらいできますか。
質問者さんのプログラムスキルなどがわからないので何とも言えませんが、
行うこと(作らなければいけない機能)を理解していて、その作成方法がわかっていれば、一か月でできかもしれません。
但し、No2.で書いたとおり、「付加機能」をどこまでつけるかということによっても難易度は変わってくると思います。
    • good
    • 0
この回答へのお礼

SilverThawさん、何度のご回答をいただき、ありがとうございます。

私はJAVAを使ってこの採点システムを開発したいと思います。JAVAのレベルもそんなに高くないし、今の段階では私一人でやりますし、あまり自信がありません。

SilverThawさんはなにかアドバイスがあれば、是非教えていただきたいと思います。

よろしくお願い致します。

お礼日時:2009/05/15 21:14

No.1です。


>もう一つ分からないことですが、マークの部分として指定された範囲はどういうふうに指定できますか。
>プログラミングでどういうふうにこの範囲を判断できますか?もしかして「座標」みたいのものですか。
はい、座標です。

概要だけ説明すると、マークシートの用紙の大きさが分かっているのであれば、
・「左からXcm、上からYcm」のところを「横Acm、縦Bcm」の範囲で確認する。
・用紙全体を「横にX分割」「縦にY分割」して、左上から「X1,Y1」の部分を確認する(分割数で確認する範囲はわかる)。
といった方法が考えられます。

さらに細かく考えると、
五択とか三択などのように複数の中から1つだけ(複数選択は不可)や複数選択可の場合をどうするか
といったことを考えていくと……
    • good
    • 0
この回答へのお礼

SilverThawさん、ご回答ありがとうございます。

採点システムの仕組みは大体分かりましたが、実際にソフトを作る時、どんなクラスを使うとか、黒マークの判断とか、分からないことがまたあります。その具体的な内容は、やはり画像処理の本を読んだほうがいいですよね。

SilverThawさんの回答によって、こんな採点システムはそんなに難しいものではないでしょうか、1ヶ月くらいできますか。

お礼日時:2009/05/15 17:59

(1)


理屈的には、読み込んだ画像情報を2値(黒/白)化してマークの部分として指定された範囲に対しての黒の割合が一定以上であればマークされたと判断する。

(2)
・JPEG画像を読む
・上記(1)の内容を行う
ができれば可能です。
    • good
    • 0
この回答へのお礼

SilverThawさん、ご回答ありがとうございました。

もう一つ分からないことですが、マークの部分として指定された範囲はどういうふうに指定できますか。プログラミングでどういうふうにこの範囲を判断できますか?もしかして「座標」みたいのものですか。

お礼日時:2009/05/15 13:23

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qマークシートでシャープペンシルはだめですか?

質問はタイトルの通りです。
例えば、数学では問題を解くときに問題用紙に計算しなければなりませんよね?そのときに鉛筆だと、芯が太くて計算しづらいのです。計算はシャーペン、マークは鉛筆というふうに分けるのもなんだか面倒な気がします・・・。
私が使っているシャーペンの芯は0.5のBなのですが、やはりマークシートでは鉛筆を使った方がよいのでしょうか。
回答よろしくお願いします。

Aベストアンサー

こんにちは。
シャープペンシルでも大丈夫ですよ。私も受験や模試のときはずっとシャーペンを使っていました。
マークシートによっては「鉛筆もしくはシャープペンシル」と表示されています。

注意点は、あえてあげるとしたら
(1)先がとがっているので、あまり力強く書いてしまうと、失敗して消しゴムで消しても、消したと認識されず、結果的に2つ塗っていると機械に判断されることが時々ある(らしいです。私は経験したことありません)
(2)芯が折れやすい
(3)芯を忘れてしまったり、途中でなくなった時に困る(鉛筆だったら目に見えてますが)

ぐらいですかね。若干無理やり考えてみましたが。笑
特に気にしなくても大丈夫なような・・・。
お勉強がんばってください!!

Qマークシートのテストでシャーペンでマークしたら採点不可?

マークシートのテストでシャーペンでマークしたら採点不可?

この間、私立の滑り止めを二校受けました。その際に「HBの黒鉛筆でマークすること」と書いてあったのですが、黒鉛筆でマークしろとは書いてあるが、シャーペンが駄目とは書いてなかったので、「どうせ、機械だって炭素に反応して採点するから、シャーペンでマークしても一緒だろ。と自分の友達も言っていたし、自分もそうだと思ったので鉛筆でマークせずにシャーペンでマークして試験を受け終えました。
そして、今日、某有名私大を受けてきたのですが、「シャーペンじゃ駄目」と書いてあったのです。ですが、シャーペンしか持ってきておらず、鉛筆がなかったので、「だ、大丈夫だよ。きっと…」と、かなり不安な気持ちになりながら解きました。そして、休み時間になると大学の生協で鉛筆と鉛筆削りを買いました。そして次の科目を受けるたびに「シャーペンは駄目」と書いてある…
そこで私は思いました。「シャーペンじゃ駄目なのか?だとしたら、今まで受け滑り止めは落ちてるっていうことなのか?」とかなり不安になりました。
試験が終了しましたが、テストの出来がどうだったかよりもシャーペンのマークは採点してもらえるのかしてもらえないのかが不安で仕方がありませんでした。

確かに去年は鉛筆でマークして受けたんですが、今年は「私大は鉛筆じゃなくてシャーペンでいい」とか誰かが言っていたし、「機械は炭素に反応して採点しているからシャーペンでもいいはず。」という説を信じていたので、鉛筆を用意することなど頭からすっかり抜けていました。それに、模試では普通に採点してもらえてたので、ないと思ったんですが、不安でしょうがないです。シャーペンでは本当に採点してもらえないんでしょうか?もちろん、これからは鉛筆でマークしますが…

シャーペンでマークしたのか鉛筆でマークしたのかなんて機械が判別できるんでしょうか?

マークシートのテストでシャーペンでマークしたら採点不可?

この間、私立の滑り止めを二校受けました。その際に「HBの黒鉛筆でマークすること」と書いてあったのですが、黒鉛筆でマークしろとは書いてあるが、シャーペンが駄目とは書いてなかったので、「どうせ、機械だって炭素に反応して採点するから、シャーペンでマークしても一緒だろ。と自分の友達も言っていたし、自分もそうだと思ったので鉛筆でマークせずにシャーペンでマークして試験を受け終えました。
そして、今日、某有名私大を受けてきたの...続きを読む

Aベストアンサー

一応、模試屋をしています。
ほとんどの人が勘違いをしているような点が2つあるので書いておきますね。

模試では、受験直前期でも5%程度の読めないマークシートが発生します。よほど先生の指導の良い高校実施の模試でも1%程度は読めません。マークミスや消しゴムのカスの場合も多いのですが、マークシートの塗り方そのものの場合も結構あります。
でも、きちんと採点をして返ってきますよね。なぜか分かりますか? 模試は採点して成績を返すところまでが商売なので、気づいたら必ず修正をするからです。マークシートの塗り直しなんてのも日常茶飯事です。
この経験を持って、「模試だと大丈夫だったから入試でも・・・」という回答は、まず怪しいと思ってください。

シャープペンシルと鉛筆の芯の成分が全く同じだと勘違いをしている人は多いです。シャープペンシルの芯も本来は鉛筆の芯と同じく黒鉛なんですが、シャーペンの芯の商品パッケージを見ると分かりますが、折れにくく、そして濃く書くために、黒鉛以外の成分も多く入っていて、同じ濃さに塗ったつもりでも、黒鉛自身の濃さはものすごく薄い、という商品もあります。HBのつもりが、黒鉛の濃さでは4Hくらいしかないということもあります。芯が折れにくい特別な技術とは何か、ということですね。
有名メーカーから「マークシート用」のシャーペンの芯が売っているのはそのためです。
「機械は炭素に反応して採点しているからシャーペンでもいいはず。」という話は、前提が既に間違っています。

そして、センター試験で使っていた高速読み取りをする機種や、高校や私大でよく使われる安価なマークシート読み取り機は、この黒鉛は反射する光を読み取っています。けっして「黒い色」を読んでいるのではないんです。
このタイプのマークシートを読み取る機械が、シャープペンシルが苦手な理由は、もう2つあります。
光の反射を読むため、紙が凸凹にされるのに弱いんです。
そして、シャープペンシルだと塗りつぶすのではなく、塗ったつもりで面ではなく線の集合になってしまっていることがあります。これだと塗ったことになりません。
競馬のマークシートなど、黒い色を読むタイプのモノもありますが、これだと、サインペンでもボールペンでも読み取ります。そして、比較的シャープペンシルで塗ったものにも強い傾向にあります。

で、回答ですが、マークシートの塗り方の模範例とダメな例を見ると判断がつくことが多いようです。
マーク欄が卵形の場合、真ん中を濃く塗り、周囲が薄いのがOKとされるのが、黒鉛を読み取るタイプです。まんべんなく薄く塗っているのが良く、真ん中だけ濃いというのがNGの場合は、黒色を読み取るタイプの物が多いようです。
「私大は鉛筆じゃなくてシャーペンでいい」というのは、読み取り方式で、少なくともセンター試験と違って、私大では、濃さを見るところもある、ということですね。

なお、ホントに丁寧に塗ったのであれば、どちらの方式でも4Hの鉛筆の濃さでも読み取れます。ただ、乱暴に塗る人がものすごく多いのも確かです。この辺を気にされているご質問者さんのことですから、丁寧に塗っているんだと思いますので、マークシートの欄をへこませるようなコトをしていなければ大丈夫じゃないでしょうか。

一応、模試屋をしています。
ほとんどの人が勘違いをしているような点が2つあるので書いておきますね。

模試では、受験直前期でも5%程度の読めないマークシートが発生します。よほど先生の指導の良い高校実施の模試でも1%程度は読めません。マークミスや消しゴムのカスの場合も多いのですが、マークシートの塗り方そのものの場合も結構あります。
でも、きちんと採点をして返ってきますよね。なぜか分かりますか? 模試は採点して成績を返すところまでが商売なので、気づいたら必ず修正をするからです...続きを読む

QC#で、画像の、指定した座標の色情報を取得し

C#、Visual Studio2008を使用しています。
ピクチャーボックスに画像を読み込み、その画像の、指定した座標の色情報を取得したいです(RGB値)。
画像の読み込みまではできました。
その次の指定した座標の色情報を取得するようなメソッド?コマンド?は存在するのでしょうか?
検索しても出てこないため、ご存知でしたら教えていただけると助かります。よろしくお願いします。

Aベストアンサー

http://msdn.microsoft.com/ja-jp/library/system.drawing.bitmap.getpixel.aspx

これを参考に。


Color c=((Bitmap)(pictureBox1.Image)).GetPixel(x, y);


こんな感じ?

参考URL:http://msdn.microsoft.com/ja-jp/library/system.drawing.bitmap.getpixel.aspx


人気Q&Aランキング

おすすめ情報