Index:…/Applications/Position-Recognition-2D/determine_grid_rotation_fft.hdev
compute_edge_direction_histogram (ImagePattern, ImageDirRef, HistogramDirRef)
开始先检测图片的边缘然后再把边缘方向直方图返回,顺便把数据存为一个数组。
plot_histo_scale (HistogramDirRef, WindowHisto, 'Angle [°]', 0, 359, 0, ValueYMax, 'black', 'blue', HistoBorder)
用之前计算的值绘制一个直方图在3601
NumImages := 7
for Index := 1 to 7 by 1
read_image (Image, 'grid/grid_' + Index$'.2d')
*
* FFT image of rotated object
compute_edge_direction_histogram (Image, ImageTest, HistogramDirTest)
rft_generic (ImageTest, ImageFFTTest, 'to_freq', 'none', 'complex', 180)
接下来读取新的有旋转的图片,然后继续提取直方图等,并用直方图做rft变换
* Compare FFT image of rotated object with reference FFT
correlation_fft (ImageFFTRef, ImageFFTTest, ImageCorrelation)
rft_generic (ImageCorrelation, ImageFFT, 'from_freq', 'none', 'real', 180)
get_grayval (ImageFFT, Row, Column, Grayval)
create_funct_1d_array ([Grayval[179],Grayval,Grayval[0]], Function)
*
* Find best correlation between object and reference FFT
determine_max_correlation (Function, Angle)
寻找Angle这个函数里面有很多内容可以借鉴。