RecAPI
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Modules Pages

OMR optical mark recognition module. More...

Enumerations

enum  OMR_FRAME {
  FRAME_AUTO ,
  FRAME_NO ,
  FRAME_YES
}
 Frame detection methods for OMR. More...
 
enum  OMR_SENSE {
  SENSE_NORMAL ,
  SENSE_LOW ,
  SENSE_LOWER ,
  SENSE_LOWEST
}
 Mark sensitivity of OMR. More...
 

Functions

RECERR RECAPIKRN kRecSetOmrParams (int sid, INTBOOL bFill, OMR_FRAME frame, OMR_SENSE sensitivity)
 Setting OMR parameters.
 
RECERR RECAPIKRN kRecGetOmrParams (int sid, INTBOOL *pbFill, OMR_FRAME *pFrame, OMR_SENSE *pSensitivity)
 Getting OMR parameters.
 

Detailed Description

OMR optical mark recognition module.

See the general description and the settings of this module.

Enumeration Type Documentation

◆ OMR_FRAME

enum OMR_FRAME

Frame detection methods for OMR.

This setting specifies the frame detection method to be applied during the running of the RM_OMR optical mark recognition module. This setting may influence the recognition accuracy.

Note
The checkmarks can be of two types: with or without a frame visible in the image. The frame can be a rectangle, a hexagon, a circle, an ellipse, etc., it can be shaded.
Scanning with a dropout color may mean that a frame visible on the input document becomes invisible in the image.
The recognition accuracy is better if FRAME_AUTO has been avoided.
Enumerator
FRAME_AUTO 

Automatic frame detection. This is the default mode. It should be used when it is not known whether or not there are frames for indicating checkmark zones of the image.

FRAME_NO 

The checkmark zones of the image are not indicated by visible frames.

FRAME_YES 

The checkmark zones of the image are indicated by visible frames.

◆ OMR_SENSE

enum OMR_SENSE

Mark sensitivity of OMR.

This setting defines the possible mark sensitivity values to be applied during the running of the RM_OMR checkmark recognition module. This setting may influence the accuracy of the recognition.

Note
The higher the mark sensitivity setting, the more sensitive the recognition is, i.e. even a small mark (just a few continuous black pixels) will cause the zone to be classified as "checked by respondent". The default sensitivity is suitable for well-printed questionnaires. Poor-quality forms should be avoided if possible, however lower sensitivity allows speckled or poorly printed documents to be processed successfully.
Enumerator
SENSE_NORMAL 

Highest mark sensitivity. This is the default sensitivity.

SENSE_LOW 

Less mark sensitivity.

SENSE_LOWER 

Lower mark sensitivity.

SENSE_LOWEST 

Lowest mark sensitivity.

Function Documentation

◆ kRecGetOmrParams()

RECERR RECAPIKRN kRecGetOmrParams ( int sid,
INTBOOL * pbFill,
OMR_FRAME * pFrame,
OMR_SENSE * pSensitivity )

Getting OMR parameters.

The kRecGetOmrParams function inquires the current settings of the RM_OMR optical mark recognition module. (See kRecSetOmrParams.)

Parameters
[in]sidSettings Collection ID.
[out]pbFillPointer of a Boolean variable to get the current two/three-value output setting.
[out]pFramePointer of a variable to get the current frame detection method setting.
[out]pSensitivityPointer of a variable to get the current mark sensitivity level setting.
Return values
RECERR
Note
This function gets the value of the settings Kernel.Ocr.OMR.Fill, ...Frame and ...Sense. These settings can be changed by kRecSetOmrParams.
The specification of this function in C# is:
RECERR kRecGetOmrParams(int sid, out bool bFill, out OMR_FRAME frame, out OMR_SENSE sensitivity);
RECERR
Error codes.
Definition RECERR_doc.h:19
OMR_SENSE
Mark sensitivity of OMR.
Definition KernelApi.h:13233
OMR_FRAME
Frame detection methods for OMR.
Definition KernelApi.h:13213
RECERR RECAPIKRN kRecGetOmrParams(int sid, INTBOOL *pbFill, OMR_FRAME *pFrame, OMR_SENSE *pSensitivity)
Getting OMR parameters.
The specification of this function in Java is:
int kRecGetOmrParams(int sid, int[] pbFill, OMR_FRAME[] pFrame, OMR_SENSE[] pSensitivity)
The specification of this function in Python is:
def kRecGetOmrParams(sid: int) -> Tuple[int, bool, int, int]

◆ kRecSetOmrParams()

RECERR RECAPIKRN kRecSetOmrParams ( int sid,
INTBOOL bFill,
OMR_FRAME frame,
OMR_SENSE sensitivity )

Setting OMR parameters.

The kRecSetOmrParams function is used to specify the settings of the RM_OMR optical mark recognition module. These are: the filled-in-error feature, the frame detection method and the mark sensitivity level.

Parameters
[in]sidSettings Collection ID.
[in]bFillThis parameter determines whether the recognition output can take two or three values.
[in]frameFrame detection method to be set. This specifies whether the image contains visible frames indicating OMR zone borders or not.
[in]sensitivityMark sensitivity level to be set.
Return values
RECERR
Note
If this function is not called, the default values are:
  • two-value output from recognition,
  • FRAME_AUTO detection mode, and
  • SENSE_NORMAL sensitivity setting.
Use bFill to enable or disable a facility that allows a respondent to correct boxes wrongly checked. If it is FALSE, only one of two values can be generated for each RM_OMR zone:
  • 0 = unfilled,
  • 1 = filled.
If it is TRUE, three values are possible:
  • 0 = unfilled,
  • 1 = filled,
  • 2 = filled in error.
In order to generate the value 2, a respondent must completely blacken or shade the whole zone area.
This function sets the value of the settings Kernel.Ocr.OMR.Fill, ...Frame and ...Sense. These settings can be retrieved by kRecGetOmrParams.
The specification of this function in C# is:
RECERR kRecSetOmrParams(int sid, bool bFill, OMR_FRAME frame, OMR_SENSE sensitivity);
RECERR RECAPIKRN kRecSetOmrParams(int sid, INTBOOL bFill, OMR_FRAME frame, OMR_SENSE sensitivity)
Setting OMR parameters.
The specification of this function in Java is:
int kRecSetOmrParams(int sid, int bFill, OMR_FRAME frame, OMR_SENSE sensitivity)
The specification of this function in Python is:
def kRecSetOmrParams(sid: int, bFill: bool, frame: int, sensitivity: int) -> int