参考:
https://www.cnblogs.com/polly333/p/5417353.html
https://blog.youkuaiyun.com/chx725/article/details/78014176
#include "myfast.hpp"
using namespace std;
void makeOffsets(int pixel[25], int rowStride, int patternSize)
{
static const int offsets16[][2] = //圆周上各像素点相对于中心点的坐标
{
{
0, 3}, {
1, 3}, {
2, 2}, {
3, 1}, {
3, 0}, {
3, -1}, {
2, -2}, {
1, -3},
{
0, -3}, {
-1, -3}, {
-2, -2}, {
-3, -1}, {
-3, 0}, {
-3, 1}, {
-2, 2}, {
-1, 3}
};
static const int offsets12[][2] =
{
{
0, 2}, {
1, 2}, {
2, 1}, {
2, 0}, {
2, -1}, {
1, -2},
{
0, -2}, {
-1, -2}, {
-2, -1}, {
-2, 0}, {
-2, 1}, {
-1, 2}
};
static const int offsets8[][2] =
{
{
0, 1}, {
1, 1}, {
1, 0}, {
1, -1},
{
0, -1}, {
-1, -1}, {
-1, 0}, {
-1, 1}
};
const int (*offsets)[2] = patternSize == 16 ? offsets16 :
patternSize == 12 ? offsets12 :
patternSize == 8 ? offsets8 : 0;
int k = 0;
for( ; k < patternSize; k++ ) //计算圆周上16个像素点在图中相对于中心点的偏移量
pixel[k] = offsets[k][0] + offsets[k][1] * rowStride;
for

本文探讨了如何重构OpenCV中的Fast_t函数,以优化FAST(Features from Accelerated Segment Test)特征提取过程。通过参考相关博客文章,深入理解FAST算法原理并实践代码改进。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



