原图
模板
识别图
代码
*这个例子在图片数据库中查找文章的页面。
*第一步是训练不同的页面并创建模型。
*然后搜索未知图像并检测出正确的文章页面。
*请注意,这个例子需要一些内存来训练模型。
dev_update_off ()
dev_close_window ()
read_image (Image, 'book/1')
get_image_size (Image, Width, Height)
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_display (Image)
*定义需要使用变量
ModelIDs := []
ModelsFound := 0
NumPoints := []
NumModels := 2
TotalTime := 0
*
* Create region for visualization purpose.
*生成需要处理区域矩形
RowRoi := [10,10,Height - 10,Height - 10]
ColRoi := [10,Width - 10,Width - 10,10]
gen_rectangle1 (Rectangle, 10, 10, Height - 10, Width - 10)
disp_message (WindowHandle, ['Press \'Run\' to start model creation ...','(may take a few minutes)'], 'window', 10, 10, 'black', 'true')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
*
* For every page the descriptor model is created.
for Index := 1 to NumModels by 1
read_image (Image, 'book/' + Index)
rgb1_to_gray (Image, ImageGray)
get_image_size (ImageGray, Width, Height)
*截取需要处理的区域
reduce_domain (ImageGray, Rectangle, ImageReduced)
dev_clear_window ()
dev_display (ImageGray)
disp_message (WindowHandle, 'Creating model no. ' + Index + '/' + NumModels + ' ... please wait.', 'window', 10, 10, 'black', 'true')
*
* Create the descriptor model with default parameters (except scaling)
* For a fast detection, the harris binomial point detector is chosen.
*运算符create_uncalib_descriptor_model准备图像区域的描述符模型,该模型在图像模板中传递,可用于基于描述符的匹配。
*通过随后调用find_uncalib_descriptor_model,可以获得从模板到搜索图像的投影2D变换(单应性)。
*模板中区域的重心作为模型的原点。与create_calib_descriptor_model相比,不需要校准相机,因此后续匹配的结果是2D投影。
*请注意,在模板图像中可见的对象部分必须是平面的。
*cre