从像素补丁OpenCV中获取方向直方图
Get Orientation Histogram from Pixel Patch OpenCV
我尝试从CV的阶段()方法的结果中获得方向直方图。我尝试获得每个像素的圆形方向并将其除以10。所以它看起来就像这样例如一个5x5像素的Patch:
{ 1 36 20 3 14
5 16 11 6 9
7 12 34 22 0
34 5 9 21 4
5 21 28 30 1}
我的问题是,我真的不知道如何扫描Patch的每个像素,然后获得它的OrientationValue来计算直方图的值。
获取方向垫的代码如下所示:
Mat patch = src(Rect(px,py,15,15));
Mat Sx;
Sobel(patch, Sx, CV_32F, 1, 0, 3);
Mat Sy;
Sobel(patch, Sy, CV_32F, 0, 1, 3);
Mat mag, ori;
magnitude(Sx, Sy, mag);
phase(Sx, Sy, ori, true);
int** hist;
在变量hist中,我想通过另一种方法添加值。我希望有人能理解我的想法,并能帮助我。
我现在有一个计划,如何通过给定的方向图像迭代,我使用在文档OpenCV文档
中显示的循环for( i = 0; i < ori.rows; i++){
for( j = 0; j < ori.cols; j++){
cout << ori.at<uchar>(i,j) << endl;
}
}
但是像那样访问值不会给我朝向值。有线索吗?
Ori
来自类型CV_32F
而不是CV_8U
,所以尝试ori.at<float>(i,j)
来访问方向值
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- 从python中调用C++函数并获取返回值
- 如何获取一个数字的前3位
- 获取字符串的长度并将其分配给数组
- 无法获取菜单选择以运行函数.C++
- 从图像中的像素中获取轴承矢量(方向)
- 如何获取设备方向
- 在C++API中获取无界方向
- QML:如何在不实际移动任何可见组件的情况下,在鼠标Aeria顶部获取鼠标移动的方向
- 从cin获取方向键
- 从像素补丁OpenCV中获取方向直方图