使用Meanshift算法查找物体
来源:互联网 发布:java hashmap原理 编辑:程序博客网 时间:2024/06/13 02:35
看了很长时间的Meanshift,今天终于会用了。
借助于一本参考书《OpenCV2计算机视觉编程手册》,这本书帮了很大的忙。
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;int main(){Mat srcImg1 = imread("1.jpg");Mat srcImg2 = imread("2.jpg");Mat srcHSV1, srcHSV2;cvtColor(srcImg1, srcHSV1, COLOR_RGB2HSV);cvtColor(srcImg2, srcHSV2, COLOR_RGB2HSV);Rect rect(130, 120, 55, 55);Mat imgROI = srcHSV1(rect);rectangle(srcImg1, rect, Scalar(0, 0, 255));rectangle(srcImg2, rect, Scalar(0, 0, 255));imshow("srcImg1", srcImg1);imwrite("srcImg1.png", srcImg1);int histSize[1] = {256};float hranges[2] = {0, 255};const float* ranges[1] = {hranges};int channels[1] = {0};Mat dstHist;calcHist(&imgROI, 1, channels, Mat(), dstHist, 1, histSize, ranges);normalize(dstHist, dstHist, 0.0, 1.0, NORM_MINMAX);Mat backprojection;calcBackProject(&srcHSV2, 1, channels, dstHist, backprojection, ranges, 255.0);imshow("backprojection", backprojection);imwrite("backproj.png", backprojection);TermCriteria criteria(TermCriteria::MAX_ITER + TermCriteria::EPS, 10, 0.01);meanShift(backprojection, rect, criteria);//Meanshift会自动更新这个rectrectangle(srcImg2, rect, Scalar(0, 255, 0));imshow("srcImg2", srcImg2);imwrite("srcImg2.png", srcImg2);waitKey(0);return 0;}
0 0
- 使用Meanshift算法查找物体
- opecv2 MeanShift 使用均值漂移算法查找物体
- 均值漂移(meanshift)算法查找物体
- OpenCV2应用Meanshift查找相似物体
- 使用均值漂移算法查找物体,源代码
- Meanshift 算法
- meanshift算法
- meanshift算法
- meanshift算法
- meanshift算法
- meanshift算法
- meanshift算法
- MeanShift算法
- Meanshift算法
- MeanShift算法
- Mean Shift算法查找物体(Python)
- opencv2对读书笔记——使用均值漂移算法查找物体
- opencv2对读书笔记——使用均值漂移算法查找物体
- Objective-C之run loop详解
- PyQt——结合Python与Qt的GUI编程
- JS面向对象及组件开发
- Launcher 总结:
- 两个用大数相加(转化为字符串再相加)
- 使用Meanshift算法查找物体
- UIView 层次,层次,最顶部 最底部
- 充电桩中转动SOC(充电动画)
- Selenium入门------JAVA搭建、运行
- xUtils,butterknife...处理findviewbyid
- 五大常用算法之二:动态规划算法
- git基础配置
- 坦克大战小游戏关键技术总结
- 【经典算法】:桶排序