Warning: mysqli::__construct(): (HY000/2003): Can't connect to MySQL server on '192.168.70.18' (113) in /mnt/www/gzt_disp.php on line 82

Warning: mysqli::prepare(): Couldn't fetch mysqli in /usr/local/lib/php/ekouhou/ekouhou_common.php on line 56

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/shimei_img.php on line 120

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 244

Warning: mysqli_error(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 321
mysqli_prepare failed. error[]
Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 329

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 329

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 330

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 244

Warning: mysqli_error(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 321
mysqli_prepare failed. error[]
Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 329

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 329

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 330

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 244

Warning: mysqli_error(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 321
mysqli_prepare failed. error[]
Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 329

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 329

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 330

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 244

Warning: mysqli_error(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 321
mysqli_prepare failed. error[]
Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 329

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 329

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 330

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 244

Warning: mysqli_error(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 321
mysqli_prepare failed. error[]
Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 324

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 325

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 326

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 327

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 329

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 329

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 330

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/biblio_conv.php on line 377

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 454

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 455

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 456

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 457

Notice: Undefined variable: upper_cat_id_arr in /mnt/www/biblio_conv.php on line 460

Warning: array_reverse() expects parameter 1 to be array, null given in /mnt/www/biblio_conv.php on line 460

Notice: Undefined variable: arr in /mnt/www/biblio_conv.php on line 461

Warning: mysqli::prepare(): Couldn't fetch mysqli in /mnt/www/shimei_img.php on line 120
磁気インク文字読取装置、磁気インク文字読取装置の制御方法、磁気インク文字読取方法、及びプログラム、並びにPOS端末装置
説明

磁気インク文字読取装置、磁気インク文字読取装置の制御方法、磁気インク文字読取方法、及びプログラム、並びにPOS端末装置

【課題】 被処理媒体に磁気インク文字を連ねて形成された文字列を読取る際に、サインや背景模様などの影響による光学読取装置の誤読取を抑制することができ、それによって読取率を向上させることができる、磁気インク文字読取装置、磁気インク文字読取装置の制御方法、磁気インク文字読取方法、及びプログラム、並びにPOS端末装置を提供する。
【解決手段】 磁気インク文字の文字列を読取る磁気文字読取装置は、磁気読取機構45を有する磁気読取部と、光学読取機構47を有する光学読取部とを備える。磁気読取結果と光学読取結果とを比較し(ステップS5)、結果が異なる場合には、再度光学読取を実施する(ステップS6)。再度光学読取を実施する場合には、磁気読取結果光学読取結果とが異なる読取対象を少なくとも含む2値化画像を形成するときの閾値を変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくとも磁気的に磁気インク文字を読取る磁気読取装置、及び光学的に磁気インク文字を読取る光学読取装置を備え、小切手等の被処理媒体に印刷されている磁気インク文字の読取処理を行う磁気インク文字読取装置及びその制御方法及び当該制御方法をコンピュータに実行させるプログラムに関する。また、本発明は、磁気読取装置及び光学読取装置を用いて、小切手等の被処理媒体に印刷されている磁気インク文字の読取処理を行う磁気インク文字読取方法に関する。さらに、本発明は、磁気インク文字読取装置を備えたPOS端末装置に関する。
【背景技術】
【0002】
従来、商取引や店舗での買い物、レストランでの支払い等において、小切手や、パーソナルチェック紙(以下総称して「チェック紙」と表記する。)を用いて決済が行われることがある。特に、アメリカ合衆国やヨーロッパ諸国においては、日常的に広く用いられている。一般に、チェック紙の所定の場所(下欄)に、銀行コードや銀行口座番号などが磁気インク文字により印刷されている。小売り店舗などにおいて、金銭の支払い者は支払い先、数字表記による金額、単語表記による金額とサインとを記入し店舗に支払う。店舗においては、磁気インク文字で印刷された銀行コードや銀行口座番号などを読取り、読取りデータを銀行や信用調査機関に照会し、チェック紙の有効性を確認する。有効な場合、小売り店舗はチェック紙の裏面にエンドースメント(受領承認)を印刷し使用者から受領する。
【0003】
磁気インク文字で印刷されている銀行コードや銀行口座番号などは、小切手等による精算の基礎データであり、正確な読取りが要求される。特に、磁気インク文字を誤読取すると、誤読取データを基礎として精算処理が進行してしまい、支払い者の口座とは異なる口座で精算処理が行われるなど、後処理工程で大きな問題となる可能性がある。従って、チェック紙の精算処理では磁気インク文字を正しく読取ることは重要である。そのため、磁気読取装置による文字認識の技術を工夫して、読取率の向上や、誤読取率の低下が図られている。
【0004】
また、光学読取装置を併用することによって、磁気的に読取れなかった文字を、光学的に読取ることにより、読取率を向上させる技術も提案されている(特許文献1参照)。さらに、読取ができても内容を誤って認識する可能性があることを考慮し、磁気読取装置の読取結果と、光学読取装置の読取結果とを照合し、合致した結果のみを正しい読取り結果とすることで、誤読取率を低減させる技術も提案されている(特許文献2参照)。
【0005】
そして、光学読取装置においては、読取る文字の画像を白黒の二階調で表す2値化画像にしたり、2値化方法を工夫したりして、光学読取装置による読取率を向上させたり、誤読取率を低減させたりする技術も提案されている(特許文献3参照)。
【0006】
【特許文献1】特開平7−182448号公報
【特許文献2】特開2000−259764号公報
【特許文献3】特開2000−331118号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、磁気インク文字が印刷されている位置を確実に読取るためには、磁気インク文字の印刷位置のばらつきや、チェック紙の寸法のばらつきや、磁気インク文字読取装置の寸法のばらつきなどを考慮して、より広い範囲を読取対象範囲としなければならない。ところが、より広い範囲を読取対象範囲とする場合、チェック紙には支払い者のサインや種々の背景模様などがあり、光学読取装置は、磁気インク文字の近傍にあるこれらのサインや背景模様などを誤って認識する場合があるという課題がある。以降、光学読取装置が誤って認識する可能性がある磁気インク文字ではないサインや模様などを、雑音文字と表記する。
【0008】
また、雑音文字が磁気インク文字に極めて近接している場合や、磁気インク文字に重なっている場合には、磁気インク文字と雑音文字とを含む形状を誤って認識する場合があるという課題もある。雑音文字が磁気インク文字に極めて近接している場合や、磁気インク文字に重なっている場合には、さらに、磁気インク文字には該当する文字がない、即ち磁気インク文字ではないという誤った判断をする場合があるという課題もある。
【0009】
加えて、光学読取装置が読取る磁気インク文字の画像を2値化画像とすることにより、磁気インク文字を鮮明に認識できるようにしているが、雑音文字も鮮明になってしまい、かえって誤読取の可能性を増大してしまうという課題もある。この課題を解決するために、2値化の閾値を適当に選び磁気インク文字が鮮明に表示され、雑音文字が表示されない2値化画像を形成することは可能である。しかし、階調にばらつきがある磁気インク文字と、様々な階調の模様やサインがある雑音文字の多くを対象として、そのような2値化画像を形成することができる閾値を予め設定することは殆ど不可能である。
【0010】
雑音文字は磁気インク文字ではないため、磁気読取装置によって誤認識される可能性は極めて小さい。従って、磁気読取装置は、雑音文字に影響されず正しく読取っていても、光学読取装置は、雑音文字の影響を受けて誤読取をする場合がある。ところが、磁気読取装置と光学読取装置とで読取結果が異なる場合は、誤読取の危険があるので、むしろ読取不能として処理する方が望ましい。従って、読取ができても内容を誤って読取る可能性があることを考慮した場合、磁気読取装置に加えて光学読取装置を導入することで、むしろ読取率が低下するという課題もある。
【0011】
そこで、本発明は、被処理媒体に磁気インク文字を連ねて形成された文字列を読取る際に、サインや背景模様などの影響による光学読取装置の誤読取を抑制することができ、それによって読取率を向上させることができる、磁気インク文字読取装置、磁気インク文字読取装置の制御方法、磁気インク文字読取方法、及びプログラム、並びにPOS端末装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明による磁気インク文字読取装置は、シート状の被処理媒体に磁気インク文字を連ねて形成された文字列を磁気的に読取る磁気読取部と、文字列を形成する磁気インク文字を含む画像を光学的に取得し、当該画像から2値化画像を形成し、2値化画像に含まれる読取対象を1文字相当分ずつ認識処理して、文字列を光学的に読取る光学読取部と、を備え、磁気読取部による文字列の読取結果である第1磁気読取結果と、光学読取部による文字列の読取結果である第1光学読取結果とが異なる場合には、磁気読取装置による読取対象の1文字相当分の読取結果である第2磁気読取結果と、光学読取部による読取対象の1文字相当分の読取結果である第2光学読取結果とが異なる誤認識文字を少なくとも含む2値化画像を形成するときの閾値を変更して、2値化画像の再形成及び認識処理の再実施からなる、光学読取部による再読取を実施することを特徴とする。
【0013】
本発明による磁気インク文字読取装置の制御方法は、シート状の被処理媒体に磁気インク文字を連ねて形成された文字列を磁気読取部により磁気的に読取るステップと、文字列を形成する磁気インク文字を含む画像を光学的に取得し、画像から2値化画像を形成し、2値化画像に含まれる読取対象を1文字相当分ずつ認識処理して、文字列を光学読取部により光学的に読取るステップと、磁気読取部による文字列の読取結果である第1磁気読取結果と、光学読取部による文字列の読取結果である第1光学読取結果とを比較するステップと、第1磁気読取結果と、第1光学読取結果とが異なる場合には、磁気読取装置による読取対象の1文字相当分の読取結果である第2磁気読取結果と、光学読取部による読取対象の1文字相当分の読取結果である第2光学読取結果とが異なる誤認識文字を少なくとも含む2値化画像を形成するときの閾値を変更して、2値化画像の再形成及び認識処理の再実施からなる、光学読取部による再読取を実施するステップと、を有することを特徴とする。
【0014】
本発明による磁気インク文字の読取方法は、シート状の被処理媒体に磁気インク文字を連ねて形成された文字列を磁気読取部により磁気的に読取るステップと、文字列を形成する磁気インク文字を含む画像を光学的に取得し、画像から2値化画像を形成し、2値化画像に含まれる読取対象を1文字相当分ずつ認識処理して、文字列を光学読取部により光学的に読取るステップと、磁気読取部による文字列の読取結果である第1磁気読取結果と、光学読取部による文字列の読取結果である第1光学読取結果とを比較するステップと、第1磁気読取結果と、第1光学読取結果とが異なる場合には、磁気読取装置による読取対象の1文字相当分の読取結果である第2磁気読取結果と、光学読取部による読取対象の1文字相当分の読取結果である第2光学読取結果とが異なる誤認識文字を少なくとも含む2値化画像を形成するときの閾値を変更して、2値化画像の再形成及び認識処理の再実施からなる、光学読取部による再読取を実施するステップと、を有することを特徴とする。
【0015】
本発明の構成及び方法によれば、文字列の磁気読取部による読取結果と、光学読取部による読取結果とが一致していない場合に、磁気読取部による読取結果と光学読取部による読取結果とが異なる読取対象文字について、光学読取部で再度読取を行う。再読取を行う場合には、2値化画像を形成するときの閾値を変更する。磁気読取が正確で、光学読取部が誤認識をする場合は、読取対象の磁気インク文字とは異なるサインや模様などの雑音文字を読取っていたり、雑音文字の影響を受けている可能性がある。閾値を変更して適当な閾値を選ぶことにより、目的とする読取対象である磁気インク文字と、目的とする読取対象ではないが誤って認識された読取対象である雑音文字とを分離することができる。即ち、磁気インク文字が認識できる黒に、雑音文字が認識されない白になる2値化画像を形成することができ、サインや模様などの雑音文字の影響を排除して、光学的に正しく読取ることができる確率を向上させることができる。磁気読取が正確で、光学読取が誤認識したために読取結果が一致していない場合の不一致を改善できる可能性があり、正しい認識の読取率を向上させることができる。
【0016】
この場合、磁気インク文字読取装置は、光学読取部による誤認識文字の再読取結果が、第2磁気読取結果と異なる場合には、少なくとも誤認識文字を含む2値化画像を形成するときの閾値をさらに所定の階調ずつ段階的に変更して、光学読取部による再読取を繰返して実施することが好ましい。
【0017】
この場合、磁気インク文字読取装置の制御方法は、光学読取部による誤認識文字の再読取結果を、第2磁気読取結果と比較するステップと、光学読取部による誤認識文字の再読取結果が、第2磁気読取結果と異なる場合には、少なくとも誤認識文字を含む2値化画像を形成するときの閾値をさらに所定の階調ずつ段階的に変更して、光学読取部による再読取を繰返して実施するステップと、をさらに有することが好ましい。
【0018】
この場合、磁気インク文字の読取方法は、光学読取部による誤認識文字の再読取結果を、第2磁気読取結果と比較するステップと、光学読取部による誤認識文字の再読取結果が、第2磁気読取結果と異なる場合には、少なくとも誤認識文字を含む2値化画像を形成するときの閾値をさらに所定の階調ずつ段階的に変更して、光学読取部による再読取を繰返して実施するステップと、をさらに有することが好ましい。
【0019】
これらの構成及び方法によれば、光学読取部による再読取結果が磁気読取結果と一致していない場合に、少なくとも誤認識文字を含む2値化画像を形成するときの閾値をさらに段階的に変更して、光学読取部による再読取を繰返し実施する。光学読取部による再読取結果が磁気読取結果と一致していない場合は、再読取の対象の誤認識文字において雑音文字を分離するのに最も適する閾値を選べなかった可能性がある。さらに閾値を変更することにより、適当な閾値を選ぶことができる可能性が高くなる。
【0020】
この場合、2値化画像を再形成する場合の閾値は、第2磁気読取結果と、第2光学読取結果と、が一致した読取対象である正認識文字を、光学読取部によって読取り、第2磁気読取結果と一致する光学読取結果が得られる閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることが好ましい。
【0021】
この構成によれば、再読取の場合の閾値は、磁気読取結果と、光学読取結果と、が一致した前記読取対象である正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も黒側又は最も白側の閾値を選ぶ。ところで、磁気的読取と、光学的読取とでは検知する事象が異なるため、誤認識を来たす原因が異なっている。従って、磁気読取部による文字列の読取結果と、光学読取部による文字列の読取結果とが一致しているものは、高い確率で正しく読取ったと判定できる。即ち、正認識文字は、磁気インク文字であると考えてよい。
【0022】
磁気インク文字が正しく読取れる最も黒側の閾値又は最も白側の閾値で画像を2値化すると、磁気インク文字は黒になって正しく読取れ、雑音文字は白になって認識されない可能性が高くなる。正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も黒側の閾値より黒側の閾値で画像を2値化すると、磁気インク文字は雑音文字と同じ白になってしまい正しく読取れなくなる。正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も白側の閾値より白側の閾値で画像を2値化すると、雑音文字が磁気インク文字と同じ黒になってしまい、磁気インク文字は雑音文字に紛れて正しく読取れなくなる。2値化画像を再形成するときの最初の閾値として、正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も黒側又は白側の閾値を選ぶことにより、正しく読取れる可能性が小さい閾値による再読取を抑制することができる。従って、少ない再読取回数で効率良く正しく読取れる再読取を実施することができる。
【0023】
この場合、2値化画像を再形成する場合の閾値は、第2磁気読取結果と、第2光学読取結果と、が一致した読取対象である正認識文字を、光学読取部によって読取り、第2磁気読取結果と一致する光学読取結果が得られる閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値から、所定の階調だけさらに黒側又は白側にシフトした閾値であることが好ましい。
【0024】
この構成によれば、再読取の場合の閾値は、正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も黒側又は白側の閾値から所定の階調だけ白側又は黒側にシフトした閾値を選ぶ。磁気インク文字の階調はばらつきがあり、それぞれの磁気インク文字で異なっている。磁気インク文字の階調のばらつきを考慮した所定の階調だけ白側又は黒側にシフトした閾値を選ぶことにより、ばらつきを考慮して、磁気インク文字が正しく読取れる最も黒側又は白側の閾値で2値化画像を作成することができる。
【0025】
この場合、2値化画像を再形成する場合の閾値は、誤認識文字に隣合う正認識文字を、光学読取部によって読取り、第2磁気読取結果と一致する光学読取結果が得られる閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることが好ましい。
【0026】
この構成によれば、再読取の場合の閾値は、誤認識文字に隣合う正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も黒側又は白側の閾値を選ぶ。磁気インク文字の階調はばらつきがあり、それぞれの磁気インク文字で異なっているが、隣合う磁気インク文字どうしは互いに階調の違いが小さいと考えられる。再読取の対象の誤認識文字に隣合う正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も黒側又は白側の閾値を選ぶことにより、誤認識文字を正しく読取れる最も黒側又は白側の閾値で2値化することができる可能性が高くなり、効率良く正しく読取れる再読取を実施することができる。
【0027】
この場合、2値化画像を再形成する場合の閾値は、誤認識文字に隣合う正認識文字を、光学読取部によって読取り、第2磁気読取結果と一致する光学読取結果が得られる閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値から、所定の階調だけさらに黒側又は白側にシフトした閾値であることが好ましい。
【0028】
この場合、磁気インク文字読取装置の制御方法は、2値化画像を形成するときの閾値を変更して、光学読取部による再読取を実施するステップでは、2値化画像を再形成する場合の閾値は、第2磁気読取結果と、第2光学読取結果と、が一致した正認識文字であって、誤認識文字に隣合う読取対象を、光学読取部によって読取り、第2磁気読取結果と一致する光学読取結果が得られる閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることが好ましい。
【0029】
この場合、磁気インク文字の読取方法は、2値化画像を形成するときの閾値を変更して、光学読取部による再読取を実施するステップでは、2値化画像を再形成する場合の閾値は、第2磁気読取結果と、第2光学読取結果と、が一致した正認識文字であって、誤認識文字に隣合う読取対象を、光学読取部によって読取り、第2磁気読取結果と一致する光学読取結果が得られる閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることが好ましい。
【0030】
これらの構成及び方法によれば、再読取の場合の閾値は、誤認識文字に隣合う正認識文字を光学読取部によって読取る場合に、第2磁気読取結果と一致する光学読取結果が得られる最も黒側又は白側の閾値から所定の階調だけ白側又は黒側にシフトした閾値を選ぶ。再読取の対象の誤認識文字に隣合う正認識文字を光学読取部によって読取る場合に、前記第2磁気読取結果と一致する光学読取結果が得られる最も黒側又は白側の閾値を基準にすることにより、誤認識文字が正しく読取れる最も黒側又は白側の閾値で2値化することができる可能性が高くなる。また、所定の階調だけ白側又は黒側にシフトした閾値を選ぶことにより、ばらつきを考慮して、磁気インク文字が正しく読取れる最も黒側又は白側の閾値で画像を2値化することができる。
【0031】
この場合、磁気インク文字の読取装置は、2値化画像を再形成する場合の閾値は、光学読取部による1回目の読取りのときの前記閾値を所定の階調だけ黒側又は白側にシフトした閾値であることが好ましい。
【0032】
この場合、磁気インク文字読取装置の制御方法は、2値化画像を形成するときの閾値を変更して、光学読取部による再読取を実施するステップでは、2値化画像を再形成する場合の閾値は、光学読取部による1回目の読取りのときの閾値を所定の階調だけ黒側又は白側にシフトした閾値であることが好ましい。
【0033】
この場合、磁気インク文字の読取方法は、2値化画像を形成するときの閾値を変更して、光学読取部による再読取を実施するステップでは、2値化画像を再形成する場合の閾値は、光学読取部による1回目の読取りのときの閾値を所定の階調だけ黒側又は白側にシフトした閾値であることが好ましい。
【0034】
これらの構成及び方法によれば、再読取の場合の閾値は、光学読取部による1回目の読取りのときの前記閾値を所定の階調だけ黒側又は白側にシフトした閾値である。光学読取部による1回目の読取りのときも正認識文字は正しく読取れている。誤認識文字も、正認識文字が正しく読取れる閾値に近い値の閾値で2値化画像を形成して、正しく読取れる可能性が高い。所定の階調だけ黒側又は白側にシフトした閾値の2値化画像で再読取を実施し、黒側又は白側に段階的に閾値を変えながら再読取を実施することにより、最初の再読取から正しく読取れる可能性が高い再読取を実施することができる。従って、正しく読取れる可能性が小さい閾値による再読取の実施を抑制することができ、少ない再読取回数で効率良く正しく読取れる再読取を実施することができる。
【0035】
この場合、磁気インク文字読取装置は、被処理媒体に印刷する印刷部を備えることが好ましい。
【0036】
この構成によれば、印刷部を備えることにより、POS端末装置等による小切手などのチェック紙の精算における磁気インク文字の読取、裏書及び表書きの印字も一台の装置で処理することが可能となる。
【0037】
本発明によるプログラムは、コンピュータに、上記請求項に記載の磁気インク文字読取装置の制御方法の各ステップを実行させることを特徴とする。
【0038】
本発明のプログラムは、文字列の磁気読取部による読取結果と、光学読取部による読取結果とが一致していない場合に、磁気読取部による読取結果と光学読取部による読取結果とが異なる読取対象文字について、光学読取部で再度読取を行わせることをコンピュータに、実行させる。再読取を行う場合には、2値化画像を形成するときの閾値を変更させることをコンピュータに、実行させる。磁気読取が正確で、光学読取部が誤認識をする場合は、読取対象の磁気インク文字とは異なるサインや模様などの雑音文字を読取っていたり、雑音文字の影響を受けている可能性がある。閾値を変更して適当な閾値を選ぶことにより、目的とする読取対象である磁気インク文字と、目的とする読取対象ではないが誤って認識された読取対象である雑音文字とを分離することができる。即ち、磁気インク文字が認識できる黒に、雑音文字が認識されない白になる2値化画像を形成することができ、サインや模様などの雑音文字の影響を排除して、光学的に正しく読取ることができる確率を向上させることができる。磁気読取が正確で、光学読取が誤認識したために読取結果が一致していない場合の不一致を改善できる可能性があり、正しい認識の読取率を向上させることができる。
【0039】
本発明によるPOS端末装置は、前記した磁気インク文字読取装置を備えることを特徴とする。
【0040】
本発明の構成によれば、POS端末装置による小切手などのチェック紙の精算において、光学読取が誤読取であったために読取結果が一致していない場合の不一致を改善できる可能性が高くなり、正しい認識の認識率を向上させることができる。
【発明を実施するための最良の形態】
【0041】
以下に、添付の図面を参照して、本発明の一実施形態に係る磁気インク文字読取装置について説明する。
【0042】
(第1の実施形態)
図1は、本発明の一実施形態に係る磁気インク文字読取装置を含む複合処理装置の外観斜視図である。また、図2は、被処理媒体の一例である小切手の概要を示す平面図である。小切手による精算では、小切手の有効性を確認した後、金額、小切手振出人の署名等の表書き及び裏書が行われる。従って、磁気インク文字読取装置に加えてプリンタを設けることにより、小切手の精算に伴う磁気インク文字の読取及び表書き/裏書印刷という一連の処理を一台の装置で処理することが可能となる。
【0043】
尚、本発明はMICR(Magnetic Ink Character Reader)文字の読取処理を行う装置及び方法に関するものであり、小切手のみならず手形等の被処理媒体の処理にも適用可能であるが、最も典型的な例として、以下の説明では被処理媒体として小切手を用いて説明する。さらに、本発明は、必ずしもプリンタを必須の構成要件とするものではないが、以下の説明においては、最も典型的な例として小切手による精算を用いて説明することから、磁気読取機能、光学読取機能、及び印刷機能を備えている複合処理装置10を用いて説明する。
【0044】
図1に示した複合処理装置10は、樹脂製のカバー11で覆われており、複合処理装置10の前面部には、小切手(被処理媒体)20を手差しで挿入する挿入口12が形成されている。挿入口12から挿入された小切手は、上面部に設けられた排出口14から排出される。複合処理装置10は、その後部にロール紙を収納するロール紙収納部(図示せず)を備えており、該ロール紙収納部に収納されたロール紙が印字部を経て装置上面部のロール紙排出口16から引き出される。
【0045】
次に、小切手20について説明する。図2に示した小切手20の表面には、表書き事項を記入する表書き領域21と、署名をするための署名領域22と、磁気インク文字が印刷されたMICR記録領域23が設けられている。小切手20の裏面には、裏書き事項を記入するための裏書き領域24が設けられている。表書き領域21には、支払い先、日付、金額等の表書き事項を記入する。署名領域22には、金銭の支払い者である小切手20の使用者(買い物客)が自筆で署名を行う。裏書き領域24には、小切手20の使用者の認証番号、日付、使用金額等の小切手20の受取り側(店舗側)として必要な裏書き事項を記入する。MICR記録領域23には、小切手20の使用者の銀行コードや銀行口座番号などが磁気インク文字により印刷されている。なお、図2に示したMICR記録領域23に記載されている文字列は、本実施形態の説明のために設定した架空の文字列であり、実在する小切手に記載されて特定の意味を有する文字列とは異なり、特定の意味は持たない文字列である。
【0046】
小切手20は、図2の矢印vの方向に挿入口12に挿入される。複合処理装置10は、小切手20を搬送しながら、MICR記録領域23に印刷されている磁気インク文字を読取り、文字列は図2における右端から矢印wの方向に順次読取られる。
【0047】
小売り店舗などにおいて、金銭の支払い者は、小切手20を店舗側に渡す。店舗側は、支払い先である店舗名、数字表記による金額、単語による金額を、複合処理装置10の印刷装置で小切手20に印刷し、小切手20を支払い者に戻す。支払い者は、小切手20に印刷された支払い先、数字表記による金額、単語による金額を確認し、サインを記入し店舗側に支払う。店舗においては、磁気インク文字で印刷された銀行コードや銀行口座番号などを読取り、読取りデータを銀行や信用調査機関に照会し、チェック紙の有効性を確認する。有効な場合小売り店舗はチェック紙の裏面にエンドースメント(受領承認)を印刷し使用者から受領し、小切手20による金銭の支払い処理が完了する。
【0048】
図3は、磁気インク文字の1例の形状の概略を示している。MICR記録領域23に印刷されている磁気インク文字はMICRヘッドで読取られる。MICRヘッドは永久磁石と磁気ヘッドから構成されている。一方、磁気インクには、磁性材料の粉が混合されている。そのため、小切手20が永久磁石の前を通過すると、磁気インク文字は磁化される。磁化された磁気インク文字が読取ヘッドの前を通過すると、磁気インク文字の形に応じて磁束が変化するため、文字の形に応じた波形が読取ヘッドから出力される。磁気インク文字は、規格によりその形状が決まっているため、その波形のパターンにより、磁気インク文字を読取ることができる。MICRフォントとして、例えば、E13B、CMC7等がある。例えば、E13Bフォントは、数字0から9と4種類の記号からなる合計14種類の文字を規定している。図3に示した磁気インク文字は、E13Bフォントである。
【0049】
次に、複合処理装置10を駆動するための電気的構成について説明する。図4は、複合処理装置のハードウェアの主要構成を示すブロック図である。制御部40は、複合処理装置10の各部材の動作を統括管理するものである。制御部40は、演算処理を行うCPU(Central Processing Unit)41や、ホスト装置61から受け取った制御コマンドや印刷データを一時的に保存するRAM(Random Access Memory)42aや各種演算処理を行うためのルーチン等を記録したROM(Read Only Memory)42bを有している。これらはそれぞれ互いに電気的に接続されている。
【0050】
CPU41には、内部インタフェース43a、内部インタフェース43bを介して磁気読取機構45、印刷機構46、光学読取機構47、用紙搬送機構48、各種センサ49、表示部50、操作部51等が接続されており、ROM42bに記憶している制御プログラムに基いてCPU41が各部の動作を制御する。各機構にはそれぞれに必要なロジック回路を含んでいる。複合処理装置10は、外部インタフェース52を介して、例えばPOS端末機のホストコンピュータ等のホスト装置61に接続されており、ホスト装置61の制御の下、所定の動作を実行する。
【0051】
次に、上記した複合処理装置10を用いて、小切手20のMICR記録領域23に磁気インク文字により印刷されている小切手20の使用者の銀行コードや銀行口座番号などの読取を実施する過程を説明する。図5は、磁気インク文字の文字列の読取を実施する過程の一実施形態のフローチャートである。
【0052】
小切手20が挿入口12に挿入され、用紙搬送機構48によって搬送される。ステップS1では、磁気読取部によって、磁気的に磁気インク文字を読取る。磁気読取機構45によって、磁気インク文字を磁気データとして取得し、取得された磁気データは、CPU41によって、磁気インク文字の認識処理が実行される。磁気データは、A/D変換、磁気文字の切りだし、平滑化処理、正規化処理を経て正規化される。正規化された磁気データは、ROM42bに記憶された基準データと比較される。磁気データと基準データとが所定の範囲内で一致するときには、磁気データは一致した基準データに対応する文字と認識される。また、基準データと一致した磁気データが切出された位置が、認識された文字の文字位置であると認識される。文字列を構成する全磁気インク文字について読取が実施されて、磁気読取部による文字列の読取が完了する。磁気読取機構45と制御部40とが磁気読取部に相当する。
【0053】
次にステップS2では、磁気データと一致した基準データに対応する文字及び文字位置を、磁気読取結果としてRAM42aに記憶する。
【0054】
次にステップS3では、光学読取機構47によって、光学的に磁気インク文字を読取る。光学読取機構47によって、小切手20は画像化され、磁気インク文字を含む所定の範囲の画像が切取られ、CPU41によって、磁気インク文字の認識処理が実行される。画像は所定のテンプレートと比較され、画像データとテンプレートデータとが所定の範囲内で一致するときには、画像は一致したテンプレートに対応する文字であると認識される。
【0055】
図6はテンプレートの一例である。図6(a)は、図3に示したE13Bフォントの各文字のテンプレートの一例であり、図6(b)は、文字「1」のテンプレートの拡大図である。説明のために、図に示したように文字の高さ方向をx方向とし、x方向と直行する方向をy方向とする。x方向及びy方向は、後述する図7に示すx方向及びy方向と同一である。一つのテンプレートは、x方向24ドット、y方向19ドット、計456個のドットで形成されている。各ドットの色は黒色又は白色であって、黒色ドットの集合の形状で文字が形成されている。各テンプレートは、図6(b)に示すような基準点となるドットが定められており、基準点からx方向24ドット、y方向19ドットの範囲が、ひとつの文字の大きさである。
【0056】
図7は、切取られた画像の一例である。切取り画像70が含む領域は、規格で定められたMICR記録領域23を含むように設定する。切取り画像70は、MICR記録領域23の位置のばらつきを考慮して、MICR記録領域23の画像であるMICR画像71の大きさに対して充分な余裕がある大きさになっている。充分な余裕を持った範囲を切取っているため、切取り画像70は、小切手20の使用者が書いたサインの画像であるサイン画像72の一部も含んでいる。説明のために、図に示したように文字の高さ方向をx方向とし、x方向と直行する文字列方向をy方向とする。x方向及びy方向は、前記した図6に示すx方向及びy方向と同一である。矢印wは、図2に示した矢印wと同様である。なお、図7に記載されている文字列は、本実施形態の説明のために設定した架空の文字列であり、実在する小切手に記載されて特定の意味を有する文字列とは異なり、特定の意味は持たない文字列である。
【0057】
画像のテンプレートとの比較は、切取り画像70のy方向をMICR画像71の磁気インク文字1文字分に対応する大きさに区切ったマッチング領域について行われる。マッチング領域の中のx方向24ドット、y方向19ドットの比較区画を、14個のテンプレートと比較し、456個のドットの黒色または白色の不一致率をカウントする。テンプレートと比較し不一致率をカウントする比較区画は、最初は、切取り画像70の図7における左端からx方向24ドット、y方向19ドットの区画であり、次にテンプレートと比較する比較区画は、x方向に1ドットずらしたx方向24ドット、y方向19ドットの区画である。同様に、x方向に1ドットずつ比較区画をずらしながら各比較区画毎に14個のテンプレートとの比較を行い、比較区画の図7における右端がマッチング領域の右端に到達するまでの各比較区画毎の不一致率を求める。
【0058】
不一致率が所定の限界値以内の場合、不一致率が所定の限界値以内のテンプレートの文字を読取文字とし、不一致率が所定の限界値以内の比較区画の位置を文字位置とする。なお、文字位置は、テンプレートの基準点(図6(b)参照)の位置で表す。複数の比較区画で不一致率が所定の限界値以内であった場合や、複数のテンプレートとの不一致率が所定の限界値以内であった場合には、最も不一致率が小さい比較区画の位置及びテンプレートの文字を、そのマッチング領域における文字位置及び読取文字とする。ひとつのマッチング領域の認識処理が終了すると、次のマッチング領域の認識処理を同様に行う。最初に認識処理を行うマッチング領域は、切取り画像70の図7における最上端のマッチング領域であり、次に認識処理を行うマッチング領域は、最初に読取を行ったマッチング領域に隣接するマッチング領域である。切取り画像70の図7における最下端のマッチング領域まで認識処理を行い、光学読取部による文字列の読取が完了する。光学読取機構47と制御部40とが、光学読取部に相当する。
【0059】
図5において、ステップS3の次に行われるステップS4では、各マッチング領域における文字位置及び読取文字が、光学読取結果としてRAM42aに記憶される。
【0060】
次のステップS5では、RAM42aに記憶されている光学読取結果の文字と磁気読取結果の文字とが同一であるか否か判定する。光学読取結果の文字と磁気読取結果の文字とが同一である(ステップS5でYES)場合は、MICR記録領域23に磁気インク文字により印刷されている文字列の読取が正確に行われたと判断し、ステップS12に進む。ステップS12では、光学読取結果と磁気読取結果とで一致した読取結果を、読取結果として記憶し、MICR記録領域23に印刷されている文字列の読取を終了する。
【0061】
光学読取結果の文字と磁気読取結果の文字とが異なる(ステップS5でNO)場合は、光学読取部による文字列の読取が正確に行われなかった可能性があると判断し、ステップS6に進む。
【0062】
ステップS6では、光学読取結果の文字と磁気読取結果の文字とが異なる読取対象について、光学読取部による再読取を行う。より詳細には、詳細なフローチャートを参照して説明する。次のステップS7では、光学読取部による再読取結果の文字を、RAM42aに記憶されている磁気読取結果の文字と比較し、同じであるか否かを判定する。再読取結果と磁気読取結果とが異なる(ステップS7でNO)場合は、ステップS11に進む。
【0063】
この場合は、光学読取部による再読取を実施しても光学読取結果と磁気読取結果が一致せず、正しく読取れなかった可能性が高い場合であり、読取不能として処理する事が望ましい場合である。ステップS11で、読取不能であったことをホスト装置61の表示部(図示省略)に表示し、MICR記録領域23に印刷されている文字列の読取を終了する。
【0064】
ステップS7で、光学読取部による再読取結果の文字を、RAM42aに記憶されている磁気読取結果の文字と比較し、同一である(ステップS7でYES)場合は、MICR記録領域23に磁気インク文字により印刷されている文字列の読取が正確に行われたと判断し、ステップS12に進む。ステップS12では、光学読取結果と磁気読取結果とで一致した読取結果を、読取結果として記憶し、MICR記録領域23に印刷されている文字列の読取を終了する。
【0065】
次に、図5に示した磁気インク文字の文字列の読取を実施する過程の中で、ステップS6の光学読取部による再読取の処理について、詳細に説明する。図8及び図9は、光学読取結果の文字と磁気読取結果の文字とが異なる読取対象について、光学読取部による再読取を行う過程の一実施形態のフローチャートである。また、図10は、切取り画像の一部を示す図である。
【0066】
図10には、図7に示した切取り画像70の一部が示してあり、読取られた読取対象に、それぞれaからiの符号を付してある。空白を空と表記すると、正しい文字列は、「560O空空081」となる。ここでは、磁気読取部は読取が正しく行われ、磁気読取結果は「560O空空081」であるとして、説明する。
【0067】
光学読取部は、図10(a)の上側から認識処理を行い、読取対象fと読取対象hと読取対象eの部分を順次読取る。読取対象hは、磁気インク文字にサインの一部が重なったことにより、合致するテンプレートがなく、認識不可の不認識文字とされている。次に、空白の部分で、サイン画像72の読取対象iの部分を認識不可の不認識文字とし、サイン画像72の読取対象dの部分を「1」と誤認識している。図10のy方向の読取対象dの位置と読取対象gの位置とが、上記したマッチング領域のy方向の幅より近接していたため読取対象gの部分は無視されてしまい、読取対象dの部分の次に読取対象cの部分を認識している。その結果、空白を空と表記し不認識文字を不と表記すると、光学読取部が読取った光学読取結果の文字列は、「5601不0不1」となっている。
【0068】
誤読取の原因としては、上記したような、磁気インク文字を正しく読めなかった場合と、磁気インク文字ではない雑音文字を認識した場合と、雑音文字などの影響で無視された場合と、が考えられる。
【0069】
ステップS21では、光学読取結果の文字と磁気読取結果の文字とが異なる読取対象の画像位置、即ち、再読取を実施する画像位置を特定する。以降、1文字相当分の光学読取結果が磁気読取結果の文字とが異なるときの読取対象を誤認識文字と表記し、光学読取結果の文字と磁気読取結果の文字とが一致した読取対象を正認識文字と表記する。誤認識文字の画像位置であって、光学読取部による再読取を実施する対象の画像位置を、位置Aと表記する。
【0070】
位置Aの特定は、最初に、正認識文字を1文字選び基準文字とし、基準文字から順次隣の読取対象の光学読取結果と磁気読取結果との文字と文字位置を比較して行う。文字と文字位置を比較することで、図10のgのように、雑音文字などの影響で無視された磁気文字は、対応する位置の光学読取結果が存在せず、無視されて未認識の磁気インク文字があったことがわかる。次に、特定された誤認識文字の両隣の正認識文字の文字位置から、誤認識文字となった磁気インク文字の位置を予測する。即ち、正認識文字の文字位置から、規格で定められた1文字ずれた位置を誤認識文字となった磁気インク文字の予測位置とする。予測位置にばらつきを考慮した補正値を加えた範囲を、位置Aとする。図10に示した画像の場合、位置Aは、図10(b)に網掛けで表示した読取対象gを含む領域と、読取対象hを含む領域となる。
【0071】
次のステップS22では、再2値化の際の閾値の基準を決めるために、位置Aに隣接する光学読取結果の文字と磁気読取結果の文字とが一致した読取対象である正認識文字の画像位置を特定する。位置Aに隣接する正認識文字の画像位置を位置B及び位置Cと表記する。図10に示した画像の読取対象hを含む位置Aの場合、位置B及び位置Cは、それぞれ、読取対象eまたは読取対象fを含む磁気インク文字1文字分の領域である。
【0072】
次のステップS23では、位置Bにおいて、2値化閾値を0に設定する。次のステップS24では、位置Bにおいて、2値化画像を作成することでノイズ除去を行い、光学読取を実施する。
【0073】
次に、ステップS25では、ステップS24で得られた光学読取結果を、RAM42aに記憶されている位置Bの磁気読取結果の文字と比較し、同一結果であるか否かを判定する。同一であった(ステップS25でYES)場合は、設定されている閾値が位置Bの磁気文字が正しく読取れる最も黒側の閾値であると判断してステップS28に進む。同一でなかった(ステップS25でNO)場合は、ステップS26に進む。ステップS26では、閾値を+5する。即ち5階調白側にする。次に、ステップS27では、閾値が「100」以上になったか否かを判定する。ステップS27で、閾値が「100」に満たない(ステップS27でNO)場合は、ステップS24に進み、ステップS24からステップS27を繰返す。
【0074】
ステップS27で、閾値が「100」を超えた(ステップS27でYES)場合は、ステップS28に進む。閾値は「0」から「5」ずつ増加させるため、ステップS27でYESとなる場合の閾値は通常「100」となる。「100」以上の閾値を使用しないのは、薄いサイン文字でも階調は「100」以下であり、閾値「100」以上で2値化しても雑音文字は黒側になってしまい、磁気インク文字と雑音文字とを分離できないためである。位置Bにある読取対象は、正確に読取られた磁気インク文字であるから、通常は、閾値が「100」に達する前に、ステップS25でYESとなり、ステップS28に進む。
【0075】
ステップS28では、得られた閾値を位置Bの磁気インク文字を正しく読取れる最も黒側の閾値である閾値Bとして記憶する。
【0076】
次のステップS33では、位置Cにおいて、2値化閾値を0に設定する。次のステップS34では、位置Cにおいて、2値化画像を作成することでノイズ除去を行い、光学読取を実施する。
【0077】
次のステップS35では、ステップS34で得られた光学読取結果を、RAM42aに記憶されている位置Cの磁気読取結果の文字と比較し、同一結果であるか否かを判定する。同一であった(ステップS35でYES)場合は、設定されている閾値が位置Cの磁気文字が正しく読取れる最も黒側の閾値であると判断してステップS38に進む。同一でなかった(ステップS35でNO)場合は、ステップS36に進む。ステップS36では、閾値を+5する。即ち5階調白側にする。次に、ステップS37で、閾値が100以上になったか否かを判定する。ステップS37で、閾値が「100」に満たない(ステップS37でNO)場合は、ステップS34に進み、ステップS34からステップS37を繰返す。
【0078】
ステップS37で、閾値が「100」を超えた(ステップS37でYES)場合は、ステップS38に進む。閾値は「0」から「5」ずつ増加させるため、ステップS37でYESとなる場合の閾値は通常「100」となる。「100」以上の閾値を使用しないのは、薄いサイン文字でも階調は「100」以下であり、閾値「100」以上で2値化しても雑音文字は黒側になってしまい、磁気インク文字と雑音文字とを分離できないためである。位置Cにある読取対象は、正確に読取られた磁気インク文字であるから、通常は、閾値が「100」に達する前に、ステップS35でYESとなり、ステップS38に進む。
【0079】
ステップS38で、得られた閾値を位置Cの磁気インク文字を正しく読取れる最も黒側の閾値である閾値Cとして記憶する。
【0080】
次に、図9のステップS41に進み、閾値Bと閾値Cとを比較し、小さい閾値を閾値Dとして記憶する。閾値Dは、位置Bまたは位置Cの磁気インク文字を正しく読取れる最も黒側の閾値であり、閾値Dより黒側の閾値で2値化画像を作成しても、磁気インク文字は白になってしまい、認識できない。
【0081】
次のステップS42では、閾値Dより10小さい閾値、即ち、閾値Dより10階調黒側の閾値を、閾値Eとして記憶する。閾値Dより10小さい閾値を閾値Eとすることで、閾値Eは、磁気インク文字の階調のばらつきを含めても、確実に位置Aの磁気インク文字を正しく読取れる最も黒側の閾値より黒側の閾値となる。
【0082】
次のステップS43では、位置Aにおいて、2値化画像を作成することでノイズ除去を行い、光学読取の再読取を実施する。
【0083】
図11は、図10に示した画像において、サイン画像72の階調が磁気インク文字の階調より白側であり、2値化画像の閾値が、サイン画像72の階調と磁気インク文字の階調との間に設定できた場合の、2値化画像例である。図11で四角で囲った読取対象hを含む領域が、再読取を実施する場合に再2値化する位置Aの一つである。サイン画像72(図7参照)は白側になって画像から除去されており、hの部分の磁気インク文字が明瞭になっている。
【0084】
次のステップS44では、ステップS43で得られた光学再読取結果を、RAM42aに記憶されている位置Aの磁気読取結果の文字と比較し、同一結果であるか否かを判定する。同一であった(ステップS44でYES)場合は、正しい読取ができたと判断し、ステップS47に進む。
【0085】
同一でなかった(ステップS44でNO)場合は、ステップS45に進む。ステップS45では、閾値Eを+1する。即ち1階調白側にする。次のステップS46では、閾値が「100」以上になったか否かを判定する。ステップS46で、閾値が「100」に満たない(ステップS46でNO)場合は、ステップS43に進み、ステップS43からステップS46を繰返す。閾値は1ずつ増加させるため、ステップS46でYESとなる場合の閾値は通常「100」となる。「100」以上の閾値を使用しないのは、薄いサイン文字でも階調は「100」以下であり、閾値「100」以上で2値化しても雑音文字は黒側になってしまい、磁気インク文字と雑音文字とを分離できないためである。
【0086】
ステップS46で、閾値Eが100を超えた(ステップS46でYES)場合は、光学読取部による再読取を行う過程を終了する。この場合は、閾値を変更しても雑音文字と磁気インク文字を分離できる閾値が得られず、再読取によっても、誤読取を是正できなかった場合である。
【0087】
ステップS47では、RAM42aに記憶されている光学読取結果の文字を、ステップS43で得られた光学読取部による再読取結果の文字に置き換え、2値化画像を再作成し、光学読取部による再読取を行う過程を終了する。この場合は、光学読取部による再読取を実施することによって、誤読取を是正し、文字列の読取ができた場合である。
【0088】
この第1の実施形態によれば、以下の効果が得られる。
(1)磁気読取部による文字列の読取結果と、光学読取部による文字列の読取結果とが一致していない場合に、光学読取部による読取結果とが異なる読取対象を含む位置Aについてのみ光学読取部で再度読取を行う。光学読取部で再度読取を行うことにより、磁気読取が正確で、光学読取が誤認識したために読取結果が一致していない場合の不一致を改善できる可能性があり、正しい認識の読取率を向上させることができる。位置Aについてのみ再度読取を行うことで、効率良く一致の確率を上げることができ、認識率を向上させることができる。
【0089】
(2)磁気的読取と、光学的読取とでは検知する事象が異なるため、誤読取を来たす原因が異なっている。従って、磁気読取部による読取結果と、光学読取部による読取結果とが一致している読取対象は、高い確率で正しく認識したと判定できる。即ち、磁気読取部による読取結果と、光学読取部による読取結果とが一致している位置Bと位置Cに含まれる読取対象は、磁気インク文字であると考えてよい。位置Bと位置Cに含まれる磁気インク文字が正しく読取れる最も黒側の閾値で画像を2値化すると、磁気インク文字は黒になって正しく読取れ、雑音文字は白になって認識されない可能性が高くなる。位置Bと位置Cに含まれる読取対象が、正しくに読取れる最も黒側の閾値より黒側の閾値で画像を2値化すると、磁気インク文字は正しく読取れなくなる。再2値化の閾値として、位置Bと位置Cに含まれる読取対象が、正しく読取れる最も黒側の閾値を選び、ここから閾値を白側に変えながら再読取を行うことにより、磁気インク文字が白側で認識できない再読取を行う回数を抑制できる。従って、位置Aにおいて、少ない再読取回数で効率良く正しく読取れる再読取を実施することができる。
【0090】
(3)2値化画像を再形成する場合の閾値を、再読取の対象領域である位置Aに隣接する位置Bと位置Cとにおいて、正しく認識できる閾値の最小値を求め、さらに補正値を加えて求めている。磁気インク文字の階調がばらついて、位置Aの磁気インク文字の階調が位置Bと位置Cとの磁気インク文字より黒側である場合でも、補正値を加えることによって、位置Aの磁気インク文字を認識できる最も黒側の閾値を使用して2値化画像を形成することができる可能性が高くなる。従って、位置Aにおいて雑音文字と磁気インク文字とを分離して、雑音文字を排除できる可能性が高くなる。
【0091】
(4)2値化画像を再形成する場合の閾値を、再読取の対象領域である位置Aに隣接する位置Bと位置Cとにおいて、正しく認識できる閾値の最小値を求めている。磁気インク文字の階調はばらつきがあり、それぞれの磁気インク文字で異なっているが、隣接する磁気インク文字どうしは互いに階調の違いが小さいと考えられる。位置Aに隣接する位置Bと位置Cとの磁気インク文字が正しく読取れる最も黒側の閾値を選ぶことにより、位置Aの磁気インク文字が正しく読取れる最も黒側の閾値で2値化することができる可能性が高くなり、効率良く正しく読取れる再読取を実施することができる。
【0092】
(5)位置Aの範囲は、磁気インク文字1文字の大きさにばらつきを考慮した補正値を加えた範囲となっている。切取り画像のx方向の全幅についてテンプレートとの照合を行うのに比べて、テンプレートとの照合回数が少なくて済み、効率良く再読取を実施することができる。
【0093】
(第2の実施形態)
次に、本発明に係る磁気インク文字読取装置の第2の実施形態である複合処理装置について説明する。本実施形態の複合処理装置は、複合処理装置としては第1の実施形態で説明した複合処理装置10と基本的に同一のものである。第1の実施形態とは異なる、再読取を実施する過程についてのみ説明する。
【0094】
図12は、光学読取結果の文字と磁気読取結果の文字とが異なる読取対象について、光学読取装置による再読取を行う過程の一実施形態のフローチャートである。
【0095】
ステップS51では、光学読取結果の文字と磁気読取結果の文字とが異なる読取対象の画像位置、即ち、再読取を実施する画像位置を特定する。以降、1文字相当分の光学読取結果が磁気読取結果の文字とが異なるときの読取対象を誤認識文字と表記し、光学読取結果の文字と磁気読取結果の文字とが一致した読取対象を正認識文字と表記する。誤認識文字の画像位置であって、光学読取部による再読取を実施する対象の画像位置を、位置A1と表記する。なお、誤認識には、磁気読取部は文字を読取ったが、光学読取部は異なる文字として読取った場合と、読取できなかった場合と、雑音文字を磁気インク文字として読取った場合とがある。
【0096】
位置A1の特定は、最初に、正認識文字を1文字選び基準文字とし、基準文字から順次隣の読取対象の光学読取結果と磁気読取結果との文字と文字位置を比較して行う。文字と文字位置を比較することで、図10のgのように、雑音文字などの影響で無視された磁気文字は、対応する位置の光学読取結果が存在せず、無視されて未認識の磁気インク文字があったことがわかる。次に、特定された誤認識文字の両隣の正認識文字の文字位置から、誤認識文字となった磁気インク文字の位置を予測する。即ち、正認識文字の文字位置から、規格で定められた1文字ずれた位置を誤認識文字となった磁気インク文字の予測位置とする。予測位置にばらつきを考慮した補正値を加えた範囲を、位置A1とする。図10に示した画像の場合、位置A1は、図10(b)に網掛けで表示した読取対象gを含む領域と、読取対象hを含む領域となる。
【0097】
次に、ステップS52では、最初に光学読取を実施したときの2値化画像を形成したときの閾値より1小さい閾値、即ち、最初に光学読取を実施したときの閾値より1階調黒側の閾値を、閾値Fとして記憶する。
【0098】
次に、ステップS53で、位置A1において、2値化画像を作成することでノイズ除去を行い、光学読取の再読取を実施する。最初に光学読取を実施したときの閾値より1小さい閾値を閾値Fとすることで、最初に光学読取を実施したときの2値化画像では磁気インク文字と同じ黒になっていた雑音文字が白になり、除去される可能性がある。
【0099】
次に、ステップS54で、ステップS53で得られた光学再読取結果を、RAM42aに記憶されている位置A1の磁気読取結果の文字と比較し、同一結果であるか否かを判定する。同一であった(ステップS54でYES)場合は、正しい読取ができたと判断し、ステップS57に進む。
【0100】
同一でなかった(ステップS54でNO)場合は、ステップS55に進む。ステップS55で、閾値Fを「−1」する。即ち1階調黒側にする。次に、ステップS56で、閾値が10以下になったか否かを判定する。ステップS56で、閾値が10を超える値の場合(ステップS56でNO)は、ステップS53に進み、ステップS53からステップS56を繰返す。閾値は1ずつ減少させるため、ステップS56でYESとなる場合の閾値は通常10となる。10以下の閾値を使用しないのは、濃い磁気インク文字でも階調は10を超える値であり、閾値10以下で2値化しても磁気インク文字が白側になってしまい、磁気インク文字が認識できないためである。
【0101】
ステップS56で、閾値Fが10以下の場合(ステップS56でYES)は、光学読取装置による再読取を行う過程を終了する。この場合は、閾値を変更しても雑音文字と磁気インク文字を分離できる閾値が得られず、再読取によっても、誤読取を是正できなかった場合である。
【0102】
ステップS57で、RAM42aに記憶されている光学読取結果の文字を、ステップS53で得られた光学読取装置による再読取結果の文字に置き換え、光学読取装置による再読取を行う過程を終了する。この場合は、光学読取部による再読取を実施することによって、誤読取を是正し、文字列の読取ができた場合である。
【0103】
この第2の実施形態によれば、以下の効果が得られる。
(1)位置A1において、2値化画像を作成することでノイズ除去を行うとき、最初に光学読取を実施したときの閾値より「1」小さい閾値を2値化画像を作成するときの閾値とする。光学読取部による1回目の読取りのときも正認識文字は正しく読取れており、位置A1に含まれる磁気インク文字も、正認識文字が正しく読取れる閾値に近い値の閾値で2値化画像を形成して、正しく読取れる可能性が高い。再読取1回目の2値化画像を作成するときの閾値を、最初に光学読取を実施したときの閾値より1小さい閾値とすることにより、1回目の再読取から正しく読取れる可能性が高い再読取を実施することができる。
【0104】
本発明の実施形態は、前記各実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論であり、以下のように実施することもできる。
【0105】
(変形例1)前記実施形態においては、磁気読取機構45、印刷機構46、光学読取機構47などを備える複合処理装置10内のCPU41などの制御部40を用いて認識処理を行っているが、複合処理装置10内のCPU41などの制御部40を用いて認識処理を行うことは必須ではない。複合処理装置10とは別体のホスト装置61に設けたCPUを用いて認識処理を行うこともできる。また、ホスト装置61は、磁気インク文字読取装置に専用のホスト装置であってもよいし、POS端末装置などのホスト装置であってもよい。
【0106】
(変形例2)前記実施形態においては、2値化画像を再形成する場合の閾値を、再読取の対象領域である位置Aに隣接する位置Bと位置Cとにおいて、正しく読取できる閾値の最小値(最も黒側の閾値)を求め、さらに補正値を加えて求めている。しかし、補正値を加えることによって、閾値をさらに黒側にすることは必須ではない。補正値を加えることによって、磁気インク文字の階調がばらついて、位置Aの磁気インク文字の階調が位置Bと位置Cとの磁気インク文字より黒側である場合でも、位置Aの磁気インク文字が正しく読取れる最も黒側の閾値で2値化でき、雑音文字を除去して磁気インク文字を読める可能性が高くなる。反面、2値化画像において位置Aの磁気インク文字が白側になってしまい、再度再2値化と再読取が必要となる可能性が高くなる。補正値を加えることをしない場合、2値化画像において位置Aの磁気インク文字が白側になってしまうことによって、再度再2値化と再読取が必要となる可能性が少なくなり、再読取の回数を少なくすることができる。
【0107】
(変形例3)前記実施形態においては、2値化画像を再形成する場合の閾値を、再読取の対象領域である位置Aに隣接する位置Bと位置Cとにおいて、正しく読取できる閾値の最小値を求め、さらに補正値を加えて求めている。しかし、正しく読取できる閾値の最小値を、位置Bと位置Cとの2ヵ所で求めることは必須ではない。2ヵ所で求め、その中でより黒側の閾値を採用することにより、各磁気インク文字間の階調のばらつきがあっても、より確実に位置Aの磁気インク文字が正しく読取れる最も黒側の閾値で2値化でき、雑音文字を除去して磁気インク文字を読める可能性が高くなる。反面、2ヵ所で同様の処理を実施しなければならず、処理の時間が増大する。位置Bまたは位置Cのどちらか一方において、正しく認識できる閾値の最小値を求めることにより、磁気インク文字を正しく認識できる閾値の最小値を求める処理時間を短縮することができる。
【0108】
(変形例4)前記実施形態においては、2値化画像を再形成する場合の閾値を、再読取の対象領域である位置Aに隣接する位置Bと位置Cとにおいて、正しく読取できる閾値の最小値を求め、さらに補正値を加えて求めている。しかし、正しく読取できる閾値の最小値を、位置Aに隣接する位置Bや位置Cで求めることは必須ではない。磁気インク文字の文字列の中の位置によって、階調の傾向があるような場合には、最も黒側になる可能性が高い位置を予め選択しておき、その位置に近い、磁気読取部による読取結果と、光学読取部による読取結果とが一致している読取対象で求めてもよい。
【0109】
(変形例5)前記実施形態においては、2値化画像を再形成する場合の閾値を、再読取の対象領域である位置Aに隣接する位置Bと位置Cとにおいて、正しく読取できる閾値の最小値(最も黒側の閾値)を求め、さらに補正値を加えて求めている。しかし、正しく認識できる最も黒側の閾値を求めることは必須ではない。位置Bと位置Cとにおいて、正しく読取できる閾値の最大値(最も白側の閾値)を求め、2値化画像を再形成する場合の閾値としても良い。この場合、ばらつきを考慮して補正値を加えるときは、閾値をさらに白側にするようにする。
【0110】
(変形例6)前記実施形態においては、位置Bと位置Cとにおいて、正しく読取できる閾値の最も黒側の閾値を求める際に、閾値「0」の2値化画像から認識を開始しているが、1回目の再読取のための2値化画像の閾値を「0」とすることは必須ではない。殆どの文字や模様などが白になる閾値を選び、その閾値を、1回目の再読取のための2値化画像の閾値としてもよい。
【0111】
(変形例7)前記実施形態においては、位置Bと位置Cとにおいて、正しく読取できる閾値の最も黒側の閾値を求める際に、閾値を段階的に「5」ずつ増加させているが、段階的に増加させる値は「5」に限らない。適当な閾値の範囲が広い場合はもっと大きな値で増加させても良いし、適当な閾値の範囲が狭い場合にはもっと小さい値で増加させる。
【0112】
(変形例8)前記実施形態においては、2値化画像を再形成する場合の閾値を、再読取の対象領域である位置Aに隣接する位置Bと位置Cとにおいて、正しく読取できる閾値の最小値(最も黒側の閾値)を求め、さらに補正値「10」を加えて求めている。しかし、補正値の値を「10」とすることは必須ではない。磁気インク文字の階調のばらつきが大きい場合は、もっと大きな値を補正値とする必要があり、磁気インク文字の階調のばらつきが小さい場合は、もっと小さい値の補正値でよい。
【0113】
(変形例9)前記実施形態においては、位置Aの再読取結果を磁気読取結果の文字と比較し、同一でなかった場合は、閾値を1階調白側にして次の再読取を実施していたが、閾値を「1」ずつ変えるのは必須ではない。適当な閾値の範囲が広い場合には、閾値を段階的に変える値をもっと大きくしてもよい。
【0114】
(変形例10)前記実施形態においては、位置A1において、最初に光学読取を実施したときの閾値より「1」小さい閾値を、1回目の再読取のときに、2値化画像を作成する際の閾値としていたが、もっと白側の閾値を1回目の再読取のときの閾値としてもよい。このようにすることで、最初の光学読取では、位置A1の磁気インク文字の階調が白側にばらついており、位置A1の磁気インク文字が白になったり掠れたりして誤読取となった場合でも、正しく読取れる可能性が高くなる。
【0115】
(変形例11)前記実施形態においては、位置A1の再読取結果を磁気読取結果の文字と比較し、同一でなかった場合は、閾値を1階調黒側にして次の再読取を実施していたが、閾値を段階的に白側に変えて次の再読取を実施してもよい。この場合には、最初に光学読取を実施したときの閾値より充分小さい閾値を、1回目の再読取のときに2値化画像を作成する際の閾値とする。充分小さい閾値は、例えば、殆どの雑音文字が、2値化画像において白になるような閾値である。
【0116】
(変形例12)印刷機構は、例えばインクリボン上のインクを小切手20に転写するドットインパクト方式の印刷ヘッドを採用する。また、例えばインクジェットのような他の方式の印刷ヘッドを採用しても良い。
【0117】
(変形例13)前記実施形態においては、読取結果を保存して読取工程を終了しているが、読取工程に続けて読取結果を紹介することもできる。
【0118】
(変形例14)前記実施形態においては、読取結果を保存して読取工程を終了しているが、読取結果を表示装置に表示することもできる、また、ホスト装置に送信し、ホスト装置に表示することもできる。
【0119】
(変形例15)前記実施形態においては、読取不能であったことをホスト装置61の表示部に表示した(ステップS11)が、複合処理装置または磁気文字読取装置に表示装置を設け、表示装置に表示することもできる。
【0120】
(変形例16)実施形態では、各機能を制御部40を用いてソフト的に実現することにしたが、上記の各機能が演算装置を用いない単独の電子回路によって実現できる場合には、そのような電子回路を用いる。
【0121】
上記した実施の形態および変形例から把握される技術的思想を以下に記載する。
(技術的思想1) 前記2値化画像を形成するときの閾値を変更して、前記光学読取部による再読取を実施するステップでは、前記2値化画像を再形成する場合の前記閾値は、前記第2磁気読取結果と、前記第2光学読取結果と、が一致した前記読取対象である正認識文字を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値である、前記した請求項に記載の磁気インク文字読取装置の制御方法。
【0122】
(技術的思想2) 前記2値化画像を形成するときの閾値を変更して、前記光学読取部による再読取を実施するステップでは、前記2値化画像を再形成する場合の前記閾値は、前記第2磁気読取結果と、前記第2光学読取結果と、が一致した前記読取対象である正認識文字を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値から、所定の階調だけさらに黒側又は白側にシフトした閾値である、前記した請求項に記載の磁気インク文字読取装置の制御方法。
【0123】
(技術的思想3) 前記2値化画像を形成するときの閾値を変更して、前記光学読取部による再読取を実施するステップでは、前記2値化画像を再形成する場合の前記閾値は、前記誤認識文字に隣合う前記正認識文字を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値である、前記した請求項に記載の磁気インク文字読取装置の制御方法。
【0124】
(技術的思想4) 前記2値化画像を再形成する場合の2値化画像の形成方式は、固定閾値による2値化である、前記した請求項に記載の磁気インク文字読取装置。
【0125】
この構成によれば、文字列の磁気読取部による読取結果と、光学読取部による読取結果とが一致していない場合に、磁気読取部による読取結果と光学読取部による読取結果とが異なる読取対象について、光学読取部で再度読取を行う。再読取を行う場合には、2値化画像を形成するときの2値化画像の形成方式は、固定閾値による2値化、即ち、画像の各部分を閾値を境に単純に白又は黒に分離する方式を採用する。2値化画像の形成方式は、固定閾値による2値化の他に様々なものが工夫されている。例えば、黒部分の周辺と内部とで濃度差をつけて黒部分のエッジを強調する方法などがあり、磁気インク文字を認識し易くできることから、磁気インク文字の光学読取の際の2値化画像の形成方式として採用されている。しかし、このような方法は、磁気インク文字を強調して認識し易くする反面、雑音文字も強調して認識し易くしてしまうという課題がある。従って、2値化画像の形成方式を、固定閾値による2値化にすることにより、雑音文字が強調されることを抑制することができる。即ち、再読取を行う場合の2値化画像の形成方式を、固定閾値による2値化にすることにより、最初の光学読取においては強調されていた雑音文字が強調されることを抑制することができ、雑音文字が強調されることにより認識され易くなったことを抑制することができる。雑音文字が認識されることが抑制されることにより、磁気インク文字と雑音文字との分離ができる可能性が高くなる。最初の光学読取においては、強調された雑音文字と分離できないために正しく読取れなかった磁気インク文字を、再読取りでは、正しく読取れる可能性が高くなる。
【図面の簡単な説明】
【0126】
【図1】本発明の第1の実施形態における磁気インク文字読取装置を含む複合処理装置の外観斜視図。
【図2】被処理媒体の一例である小切手の概要を示す平面図。
【図3】磁気インク文字の1例の形状を示す図。
【図4】複合処理装置のハードウェアの主要構成を示すブロック図。
【図5】磁気インク文字の文字列の読取を実施する過程のフローチャート。
【図6】磁気インク文字のテンプレートの一例を示す図。
【図7】切取られた画像の一例を示す図。
【図8】光学読取部による再読取を行う過程のフローチャート。
【図9】光学読取部による再読取を行う過程のフローチャート。
【図10】切取り画像の一部を示す図。
【図11】切取り画像の一部において、サイン画像を除去できた状態を示す図。
【図12】第2の実施形態における光学読取部による再読取を行う過程のフローチャート。
【符号の説明】
【0127】
10…複合処理装置、11…カバー、12…挿入口、14…排出口、20…小切手、21…表書き領域、22…署名領域、23…MICR記録領域、24…裏書き領域、40…制御部、41…CPU、42a…RAM、42b…ROM、43a…内部インタフェース、43b…内部インタフェース、45…磁気読取部を構成する磁気読取機構、46…印刷機構、47…光学読取部を構成する光学読取機構、61…ホスト装置、70…切取り画像、71…MICR画像、72…サイン画像。


【特許請求の範囲】
【請求項1】
シート状の被処理媒体に磁気インク文字を連ねて形成された文字列を磁気的に読取る磁気読取部と、
前記文字列を形成する前記磁気インク文字を含む画像を光学的に取得し、当該画像から2値化画像を形成し、当該2値化画像に含まれる読取対象を1文字相当分ずつ認識処理して、前記文字列を光学的に読取る光学読取部と、を備え、
前記磁気読取部による前記文字列の読取結果である第1磁気読取結果と、前記光学読取部による前記文字列の読取結果である第1光学読取結果とが異なる場合には、前記磁気読取装置による読取対象の1文字相当分の読取結果である第2磁気読取結果と、前記光学読取部による前記読取対象の1文字相当分の読取結果である第2光学読取結果とが異なる誤認識文字を少なくとも含む前記2値化画像を形成するときの閾値を変更して、前記2値化画像の再形成及び前記認識処理の再実施からなる、前記光学読取部による再読取を実施することを特徴とする、磁気インク文字読取装置。
【請求項2】
前記光学読取部による前記誤認識文字の再読取結果が、前記第2磁気読取結果と異なる場合には、少なくとも前記誤認識文字を含む前記2値化画像を形成するときの閾値をさらに所定の階調ずつ段階的に変更して、前記光学読取部による再読取を繰返して実施することを特徴とする、請求項1に記載の磁気インク文字読取装置。
【請求項3】
前記2値化画像を再形成する場合の前記閾値は、
前記第2磁気読取結果と、前記第2光学読取結果と、が一致した前記読取対象である正認識文字を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることを特徴とする、請求項1又は2に記載の磁気インク文字読取装置。
【請求項4】
前記2値化画像を再形成する場合の前記閾値は、
前記第2磁気読取結果と、前記第2光学読取結果と、が一致した前記読取対象である正認識文字を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値から、所定の階調だけさらに黒側又は白側にシフトした閾値であることを特徴とする、請求項1又は2に記載の磁気インク文字読取装置。
【請求項5】
前記2値化画像を再形成する場合の前記閾値は、
前記誤認識文字に隣合う前記正認識文字を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることを特徴とする、請求項1乃至3のいずれか1項に記載の磁気インク文字読取装置。
【請求項6】
前記2値化画像を再形成する場合の前記閾値は、
前記誤認識文字に隣合う前記正認識文字を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値から、所定の階調だけさらに黒側又は白側にシフトした閾値であることを特徴とする、請求項1又は2又は4のいずれか1項に記載の磁気インク文字読取装置。
【請求項7】
前記2値化画像を再形成する場合の前記閾値は、
前記光学読取部による1回目の読取りのときの前記閾値を所定の階調だけ黒側又は白側にシフトした閾値であることを特徴とする、請求項1又は2に記載の磁気インク文字読取装置。
【請求項8】
さらに、前記被処理媒体に印刷する印刷部を備えたことを特徴とする、請求項1乃至7のいずれか1項に記載の磁気インク文字読取装置。
【請求項9】
シート状の被処理媒体に磁気インク文字を連ねて形成された文字列を磁気読取部により磁気的に読取るステップと、
前記文字列を形成する前記磁気インク文字を含む画像を光学的に取得し、当該画像から2値化画像を形成し、当該2値化画像に含まれる読取対象を1文字相当分ずつ認識処理して、前記文字列を光学読取部により光学的に読取るステップと、
前記磁気読取部による前記文字列の読取結果である第1磁気読取結果と、前記光学読取部による前記文字列の読取結果である第1光学読取結果とを比較するステップと、
前記第1磁気読取結果と、前記第1光学読取結果とが異なる場合には、前記磁気読取装置による読取対象の1文字相当分の読取結果である第2磁気読取結果と、前記光学読取部による前記読取対象の1文字相当分の読取結果である第2光学読取結果とが異なる誤認識文字を少なくとも含む前記2値化画像を形成するときの閾値を変更して、前記2値化画像の再形成及び前記認識処理の再実施からなる、前記光学読取部による再読取を実施するステップと、を有することを特徴とする磁気インク文字読取装置の制御方法。
【請求項10】
前記光学読取部による前記誤認識文字の再読取結果を、前記第2磁気読取結果と比較するステップと、
前記光学読取部による前記誤認識文字の再読取結果が、前記第2磁気読取結果と異なる場合には、少なくとも前記誤認識文字を含む前記2値化画像を形成するときの閾値をさらに所定の階調ずつ段階的に変更して、前記光学読取部による再読取を繰返して実施するステップと、をさらに有することを特徴とする、請求項9に記載の磁気インク文字読取装置の制御方法。
【請求項11】
前記2値化画像を形成するときの閾値を変更して、前記光学読取部による再読取を実施するステップでは、
前記2値化画像を再形成する場合の前記閾値は、前記第2磁気読取結果と、前記第2光学読取結果と、が一致した正認識文字であって、前記誤認識文字に隣合う前記読取対象を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることを特徴とする、請求項9又は10に記載の磁気インク文字読取装置の制御方法。
【請求項12】
前記2値化画像を形成するときの閾値を変更して、前記光学読取部による再読取を実施するステップでは、
前記2値化画像を再形成する場合の前記閾値は、前記光学読取部による1回目の読取りのときの前記閾値を所定の階調だけ黒側又は白側にシフトした閾値であることを特徴とする、請求項9又は10に記載の磁気インク文字読取装置の制御方法。
【請求項13】
シート状の被処理媒体に磁気インク文字を連ねて形成された文字列を磁気読取部により磁気的に読取るステップと、
前記文字列を形成する前記磁気インク文字を含む画像を光学的に取得し、当該画像から2値化画像を形成し、当該2値化画像に含まれる読取対象を1文字相当分ずつ認識処理して、前記文字列を光学読取部により光学的に読取るステップと、
前記磁気読取部による前記文字列の読取結果である第1磁気読取結果と、前記光学読取部による前記文字列の読取結果である第1光学読取結果とを比較するステップと、
前記第1磁気読取結果と、前記第1光学読取結果とが異なる場合には、前記磁気読取装置による読取対象の1文字相当分の読取結果である第2磁気読取結果と、前記光学読取部による前記読取対象の1文字相当分の読取結果である第2光学読取結果とが異なる誤認識文字を少なくとも含む前記2値化画像を形成するときの閾値を変更して、前記2値化画像の再形成及び前記認識処理の再実施からなる、前記光学読取部による再読取を実施するステップと、を有することを特徴とする磁気インク文字の読取方法。
【請求項14】
前記光学読取部による前記誤認識文字の再読取結果を、前記第2磁気読取結果と比較するステップと、
前記光学読取部による前記誤認識文字の再読取結果が、前記第2磁気読取結果と異なる場合には、少なくとも前記誤認識文字を含む前記2値化画像を形成するときの閾値をさらに所定の階調ずつ段階的に変更して、前記光学読取部による再読取を繰返して実施するステップと、をさらに有することを特徴とする、請求項13に記載の磁気インク文字の読取方法。
【請求項15】
前記2値化画像を形成するときの閾値を変更して、前記光学読取部による再読取を実施するステップでは、
前記2値化画像を再形成する場合の前記閾値は、前記第2磁気読取結果と、前記第2光学読取結果と、が一致した正認識文字であって、前記誤認識文字に隣合う前記読取対象を、前記光学読取部によって読取り、前記第2磁気読取結果と一致する光学読取結果が得られる前記閾値を取得し、取得した閾値の中で最も黒側又は最も白側の閾値であることを特徴とする、請求項13または14に記載の磁気インク文字の読取方法。
【請求項16】
前記2値化画像を形成するときの閾値を変更して、前記光学読取部による再読取を実施するステップでは、
前記2値化画像を再形成する場合の前記閾値は、前記光学読取部による1回目の読取りのときの前記閾値を所定の階調だけ黒側又は白側にシフトした閾値であることを特徴とする、請求項13または14に記載の磁気インク文字の読取方法。
【請求項17】
コンピュータに、請求項9乃至12のいずれか一項に記載の各ステップを実行させることを特徴とするプログラム。
【請求項18】
請求項1乃至8のいずれか1項に記載の磁気インク文字読取装置を備えたことを特徴とするPOS端末装置。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図6】
image rotate

【図7】
image rotate

【図10】
image rotate


【公開番号】特開2006−40257(P2006−40257A)
【公開日】平成18年2月9日(2006.2.9)
【国際特許分類】
【出願番号】特願2005−150584(P2005−150584)
【出願日】平成17年5月24日(2005.5.24)
【出願人】(000002369)セイコーエプソン株式会社 (-1)
【Fターム(参考)】