角点检测
2016-06-03 22:16
393 查看
//opencv论坛的代码
#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace cv; using namespace std; /// Global variables Mat src, src_gray; int thresh = 200; int max_thresh = 255; char* source_window = "Source image"; char* corners_window = "Corners detected"; /// Function header void cornerHarris_demo(int, void*); /** @function main */ int main(int argc, char** argv) { /// Load source image and convert it to gray src = imread("1.jpg", 1); cvtColor(src, src_gray, CV_BGR2GRAY); resize(src_gray, src_gray, Size(300, 300)); /// Create a window and a trackbar namedWindow(source_window, CV_WINDOW_AUTOSIZE); createTrackbar("Threshold: ", source_window, &thresh, max_thresh, cornerHarris_demo); imshow(source_window, src); cornerHarris_demo(0, 0); waitKey(0); return(0); } /** @function cornerHarris_demo */ void cornerHarris_demo(int, void*) { Mat dst, dst_norm, dst_norm_scaled; dst = Mat::zeros(src.size(), CV_32FC1); /// Detector parameters int blockSize = 2; int apertureSize = 3; double k = 0.04; /// Detecting corners cornerHarris(src_gray, dst, blockSize, apertureSize, k, BORDER_DEFAULT); /// Normalizing normalize(dst, dst_norm, 0, 255, NORM_MINMAX, CV_32FC1, Mat()); convertScaleAbs(dst_norm, dst_norm_scaled); /// Drawing a circle around corners for (int j = 0; j < dst_norm.rows; j++) { for (int i = 0; i < dst_norm.cols; i++) { if ((int)dst_norm.at<float>(j, i) > thresh) { circle(dst_norm_scaled, Point(i, j), 5, Scalar(0), 2, 8, 0); } } } /// Showing the result namedWindow(corners_window, CV_WINDOW_AUTOSIZE); imshow(corners_window, dst_norm_scaled); }
相关文章推荐
- C# 监控粘贴板、总在最前代码
- 【一天一道LeetCode】#79. Word Search
- linux网络基本设置
- 【一天一道LeetCode】#79. Word Search
- ubuntu下安装dlib
- c++中string 与 double或int之间的转换
- 【BZOJ-1924】所驼门王的宝藏 Tarjan缩点(+拓扑排序) + 拓扑图DP
- 第二个冲刺:学术诚信与职业道德
- java学习总结(16.06.03)java中数组的定义和初始化
- 面向对象_package_修饰符_匿名内部类
- 团队冲刺(二)个人工作总结1
- hdu_3565_Bi-peak Number(数位DP)
- Node.js访问SQLite数据库获取数据时出错 JSON对象无法转换
- Java数据结构源码分析-前言
- C中字符串操作函数
- hdu_3565_Bi-peak Number(数位DP)
- 学习进度13
- linux高级原6
- 萤火虫算法
- DFS之拼接长棍