intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

OpenCVTutorial - Part III

Chia sẻ: Chuvan Lam | Ngày: | Loại File: PPT | Số trang:10

54
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'opencvtutorial - part iii', khoa học xã hội, thư viện thông tin phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: OpenCVTutorial - Part III

  1. OpenCV Tutorial Part 3 Image Correlation Gavin S Page gsp8334@cs.rit.edu
  2. Tasks After learning to work with Steps Performed images it is important to learn Load an Image (Explanation Skipped) some of the accessory Convert to Gray functions OpenCV has to offer. This tutorial will discuss a Extract Template Region simple image correlation Apply Match Functions example. At this point loading an image and converting it to grayscale should be a simple task and can be copied from past tutorials. Gavin S Page gsp8334@cs.rit.edu 2
  3. Extract Template Region //define the starting point and size of rectangle int xVal = 1145; int yVal = 890; int neighLength = 25; CvRect rect = cvRect(xVal,yVal,neighLength,neighLength); Specify Region //create the template and extract it from the source image CvMat* tplate = cvCreateMat(neighLength, neighLength, CV_8UC1); cvGetSubRect(imG, tplate, rect ); Determine the starting point and the size of the region and create the CvRect. Here the template region is specified and extracted. Use cvGetSubRect to copy the template from the region. Gavin S Page gsp8334@cs.rit.edu 3
  4. Use Template Match //specify the size needed by the match function int resultW = imG->width - tplate->width + 1; int resultH = imG->height - tplate->height +1; Create Result Images //create each of the result images IplImage* result0 = cvCreateImage(cvSize(resultW, resultH), IPL_DEPTH_32F, 1); IplImage* result1 = cvCreateImage(cvSize(resultW, resultH), IPL_DEPTH_32F, 1); The image targets for the result of the IplImage* result2 = cvCreateImage(cvSize(resultW, resultH), IPL_DEPTH_32F, 1); match function have to be of size W- IplImage* result3 = cvCreateImage(cvSize(resultW, resultH), IPL_DEPTH_32F, 1); w+1×H-h+1 and of type 32-bit single IplImage* result4 = cvCreateImage(cvSize(resultW, resultH), IPL_DEPTH_32F, 1); IplImage* result5 = cvCreateImage(cvSize(resultW, resultH), IPL_DEPTH_32F, 1); channel floating point. //apply each of the matching techniques cvMatchTemplate(imG, tplate, result0, CV_TM_SQDIFF); cvMatchTemplate(imG, tplate, result1, CV_TM_SQDIFF_NORMED); cvMatchTemplate(imG, tplate, result2, CV_TM_CCORR); cvMatchTemplate(imG, tplate, result3, CV_TM_CCORR_NORMED); cvMatchTemplate(imG, tplate, result4, CV_TM_CCOEFF); cvMatchTemplate(imG, tplate, result5, CV_TM_CCOEFF_NORMED); Apply each of the match techniques for This slide documents the the example. creation of the target images and the usage of the cvMatchTemplate function. Gavin S Page gsp8334@cs.rit.edu 4
  5. Original Image and Template The original, grayscale image with template. Notice the region from which the template was extracted is labeled in the image. Gavin S Page gsp8334@cs.rit.edu 5
  6. Poor Results CCOEFF CCORR These particular methods did not demonstrate good SQDIFF results. Gavin S Page gsp8334@cs.rit.edu 6
  7. Good Results CCOEFF_NORMED Notice the high values on the circular letters on the sign Gavin S Page gsp8334@cs.rit.edu 7
  8. Good Results CCORR_NORMED Notice the high values on the circular letters on the sign Gavin S Page gsp8334@cs.rit.edu 8
  9. Good Results SQDIFF_NORMED Notice the low values on the circular letters on the sign Gavin S Page gsp8334@cs.rit.edu 9
  10. Final This tutorial illustrated a simple example of image correlation. It showed that the normalized techniques exhibited better results Gavin S Page gsp8334@cs.rit.edu 10
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2