星瞳实验室APP,快速收到回复
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 例子ncc 模板匹配 pgm图片不能打开



    • 0_1533697488391_捕获.PNG

      
      

      Template Matching Example - Normalized Cross Correlation (NCC)

      This example shows off how to use the NCC feature of your OpenMV Cam to match

      image patches to parts of an image... expect for extremely controlled enviorments

      NCC is not all to useful.

      WARNING: NCC supports needs to be reworked! As of right now this feature needs

      a lot of work to be made into somethin useful. This script will reamin to show

      that the functionality exists, but, in its current state is inadequate.

      import time, sensor, image
      from image import SEARCH_EX, SEARCH_DS

      Reset sensor

      sensor.reset()

      Set sensor settings

      sensor.set_contrast(1)
      sensor.set_gainceiling(16)

      Max resolution for template matching with SEARCH_EX is QQVGA

      sensor.set_framesize(sensor.QQVGA)

      You can set windowing to reduce the search image.

      #sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60))
      sensor.set_pixformat(sensor.GRAYSCALE)

      Load template.

      Template should be a small (eg. 32x32 pixels) grayscale image.

      template = image.Image("/1.pgm")

      clock = time.clock()

      Run template matching

      while (True):
      clock.tick()
      img = sensor.snapshot()

      # find_template(template, threshold, [roi, step, search])
      # ROI: The region of interest tuple (x, y, w, h).
      # Step: The loop step used (y+=step, x+=step) use a bigger step to make it faster.
      # Search is either image.SEARCH_EX for exhaustive search or image.SEARCH_DS for diamond search
      #
      # Note1: ROI has to be smaller than the image and bigger than the template.
      # Note2: In diamond search, step and ROI are both ignored.
      r = img.find_template(template, 0.70, step=4, search=SEARCH_EX) #, roi=(10, 0,250, 250))
      if r:
          img.draw_rectangle(r)
      
      print(clock.fps())![0_1533697596560_1.PNG](https://fcdn.singtown.com/ffe8e66a-6908-438c-bc46-feb1f152c396.PNG) 
      


    • 运行程序前,先把pgm模版图片保存到OpenMV的sd卡,并且保存后要重置OpenMV(重新上电)再运行代码。



    • 我试了好几次,仍然不行啊