Project

General

Profile

Sandbox

Hi, there is another open source OMR software, which is named “Shared Questionnaire System(SQS)”, runs on multi-platform environment. It is very easy to install and use it with JavaWebStart.
SQS’s OMR form data is written in XHTML, XForms and SVG, styled with customizable XSLT scripts, and rendered into PDF. SQS has Swing GUIs to edit OMR forms, and Ajax GUIs to browse its results.

I am the developer of SQS project. I have been developing SQS for over 6 years. If you are interested in SQS, I would be very happy.

Please check: http://dev.sqs2.net/projects/show/sqs .
Some screenshots of SQS are available at http://dev.sqs2.net/wiki/sqs/Quick_Tour .

Thanks.

  • In Wikipedia, an obvious advertisement is prohibited upon the Wikipedia's policy. http://bit.ly/5PPF1i

ScanSnapS300は、それまでのScanSnapとはLED光源やセンサ方式が異なるので、他の従来のスキャナよりも明るめ・コントラスト低めにスキャンされるのかもしれませんね。

ところで、MarkReaderのウィンドウ上部には「設定」というメニューがあります。
ここから、「マーク認識の設定」の画面内で、スライダー式のGUIで、『「塗られているマーク欄(黒)」と「塗られていないマーク欄(白)」を区別するマーク濃度』の値を調整できるようになっているのですが、この機能についてはご存じでしょうか。
本エントリは、この値を調整してもダメだったので、スキャンの後処理でコントラストを強めることにした、という趣旨なのでしょうか。

ちなみに、学校現場の多くでは、保護者に配る資料などにも、白色率の低い(再生紙混合率の高い)用紙を使っています。極端な例では、SQSでのアンケート用紙の印刷に、「わら半紙」を常用している人たちまでいます。そうした状況を踏まえて、SQSでは、『「塗られているマーク欄(黒)」と「塗られていないマーク欄(白)」を区別するマーク濃度』の規定値を、かなり明るめの色に設定してあります。さもないと、全部のマークが「塗られている」と判断されてしまいますので。


/**

 Browser.java

 Copyright 2007 KUBO Hiroya (hiroya@cuc.ac.jp).

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 */
package net.sqs2.browser;

import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import java.net.URL;

import javax.jnlp.UnavailableServiceException;

public class Browser {

    public static void showDocument(File file, URL url) {

        if (file != null) {
            try {
                Desktop.getDesktop().open(file);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            try {
                if ("file".equals(url.getProtocol()) && File.separatorChar == '\\') {
                    new NativeBrowserLauncher().showDocument(url);
                    return;
                }

                try {
                    new Java6DesktopBrowserLauncher().showDocument(url);
                    return;
                } catch (IOException ex1) {
                } catch (ClassCastException ex) {
                }

                try {
                    new JNLPBrowserLauncher().showDocument(url);
                    return;
                } catch (UnavailableServiceException ex2) {
                } catch (NullPointerException ex2) {
                }

                new NativeBrowserLauncher().showDocument(url);

            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

}