本章内容:
1. 模闆比對算法
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9UEVOBTRU5UNFRVTxU0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLygjM0MjMxkTMxIzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
輸出結果:
代碼
#include <ostream>
#include <opencv.hpp>
#include <math.h>
int main(int argc, char *argv[])
{
cv::String fileName = "/home/wang/dev/Image/heihei.jpeg";
cv::String fileName1 = "/home/wang/dev/Image/hei.png";
cv::Mat src = cv::imread(fileName);
cv::Mat src1 = cv::imread(fileName1);
if(src.data == NULL){
printf("圖像讀入失敗\n");
return -1;
}
cv::imshow("src1",src1);
cv::Mat dst;
cv::matchTemplate(src,src1,dst,cv::TM_CCOEFF_NORMED);
cv::imshow("dst", dst);
cv::Point minIdx;
cv::Point maxIdx;
cv::minMaxLoc(dst,0,0,&minIdx,&maxIdx);
cv::rectangle(src,maxIdx,cv::Point(maxIdx.x + src1.rows,maxIdx.y + src1.cols),cv::Scalar(0,0,255),4);
cv::imshow("src",src);
cv::waitKey(0);
return 1;
}