qrcode_deformed.hdev各种透视扭曲qr码还能读取的鲁邦性测试 相关例程学习

来源:互联网 发布:php面向对象接口 编辑:程序博客网 时间:2024/05/16 12:10

index:.../Indentification/Data-Code/qrcode_deformed.hdev


* This programs shows the robustness of the QR Code reader with
* respect to slight perspective distortions and local deformations
* when dealing with large codes. For this, an artificial image is
* randomly distorted. Three random sequences are tested, where
* the data code is
*   1. perspectively distorted
*   2. locally deformed
*   3. perspectively distorted and locally deformed

dev_update_off ()
read_image (Image, 'datacode/qrcode/qr_version_25')
get_image_size (Image, Width, Height)

dev_close_window ()
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_line_width (3)

* Create a data code model
create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)
set_data_code_2d_param (DataCodeHandle, 'polarity', 'dark_on_light')
set_data_code_2d_param (DataCodeHandle, 'module_gap', 'no')

* 1. Apply perspective distortions
dev_clear_window ()
disp_message (WindowHandle, 'Find QR Code with perspective distortions', 'window', 12, 12, 'white', 'false')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()

AmpPersp := 50
AmpDeform := 0
AmpNoise := 50
find_deformed_codes (Image, AmpPersp, AmpDeform, AmpNoise, DataCodeHandle, WindowHandle)

里面应用各种变化的代码都可以借鉴,但并没有仔细看。

* 2. Apply local deformations
dev_clear_window ()
disp_message (WindowHandle, 'Find QR Code with local deformations', 'window', 12, 12, 'white', 'false')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()

AmpPersp := 0
AmpDeform := 50
AmpNoise := 50
find_deformed_codes (Image, AmpPersp, AmpDeform, AmpNoise, DataCodeHandle, WindowHandle)


* 3. Apply perspective distortions and local deformations
dev_clear_window ()
disp_message (WindowHandle, ['Find QR Code with perspective distortions','and local deformations'], 'window', 12, 12, 'white', 'false')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()

AmpPersp := 50
AmpDeform := 50
AmpNoise := 50
find_deformed_codes (Image, AmpPersp, AmpDeform, AmpNoise, DataCodeHandle, WindowHandle)

clear_data_code_2d_model (DataCodeHandle)


0 0
原创粉丝点击